Update on 2022-11-18
This script shows the analysis of leaf litter mixture decomposition using five species,three litterbag mesh sizes (0.07 mm not allowing any fauna at all, 2 mm allowing mesofauna and 5 mm allowing macrofauna) with single species litter and all possible combinations of mixture from 2 species richness to five species richness. A total of 2,325 litterbags incubated in a common garden (open field in Wuhan Botanical Garden). This experiment was part of Denis Njoroge MSc thesis defended in May 2021.
library(lme4)## For linear mixed effect model## Loading required package: Matrix
library(lmerTest) ## For linear mixed effect model to conduct model simplification##
## Attaching package: 'lmerTest'
## The following object is masked from 'package:lme4':
##
## lmer
## The following object is masked from 'package:stats':
##
## step
library(pbkrtest) ## For linear mixed effect model to provide p values
library(MuMIn) ## For best model selection
library(nlme) ## For non linear model##
## Attaching package: 'nlme'
## The following object is masked from 'package:lme4':
##
## lmList
library(ggplot2) ## For good plotting figures
library(vegan) ## For calculating litter quality dissimilarity## Loading required package: permute
## Loading required package: lattice
## This is vegan 2.6-2
library(dplyr) ## For calculating means and attaching new columns to data frame##
## Attaching package: 'dplyr'
## The following object is masked from 'package:nlme':
##
## collapse
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
The litter data file consists of data collect over 16 month long decomposition experiment.
litter<-read.csv("sixteen_mon_sample.csv", header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "")experiment design
Figure S: Complete experimental design and layout of litterbags
Harvest 1 was retrieved in month 1, harvest 2 month 3, harvest 3 month 6, harvest 4 month 9 and harvest 5 in month 16
The expected mass loss was calculated based on the single species litter in fine mesh size Where expected mass loss was calculated as:
Expected mass loss % = ∑fiMi is the percentage mass loss and fi the mass proportion of each single species litter in the litter mixture.
Since, the proportion of mass of single species in the mixture is the same for all single constituents, we can use the mean of the mass loss of the constituents forming the litter mixture as the expected mass loss for the mixture.
First, we extract single species mass loss which we will use to calculate the expected mass loss for the litter mixtures per litter mixture. This needs to be done per harvest time and per plot.
litter_single<- litter[litter$No_species == "1",]
#we extract the mass loss for single species in 0.07 mm mesh size.
litter_single_fine_mesh<- litter_single[litter_single$mesh_size == "0.07 mm",]
dim(litter_single_fine_mesh)
#View(litter_single)
litter_single_fine_mesh$percent_ml<-as.numeric(litter_single_fine_mesh$percent_ml)
library(dplyr)
ml_s<-litter_single_fine_mesh%>%
group_by(code,Time_month,plot)%>%
summarize(per_ml=mean(percent_ml,na.rm = TRUE)
)## `summarise()` has grouped output by 'code', 'Time_month'. You can override
## using the `.groups` argument.
dim(ml_s)
ml_s
# here we extract the mass loss for plot one (R1)
ml_s_r1<- ml_s[ml_s$plot == "R1",]
#Convert the data frame to wide format to ensure that each harvest month is in one column
library(tidyr)##
## Attaching package: 'tidyr'
##
## The following objects are masked from 'package:Matrix':
##
## expand, pack, unpack
ml_wide_r1 <- spread(ml_s_r1, Time_month, per_ml)
ml_wide_r1
ml_wide_r1$code<-as.factor(ml_wide_r1$code)
ml_wide_r1$`one month`<-as.numeric(ml_wide_r1$`one month`)
ml_wide_r1$`three months`<-as.numeric(ml_wide_r1$`three months`)
ml_wide_r1$`six months`<-as.numeric(ml_wide_r1$`six months`)
ml_wide_r1$`nine months`<-as.numeric(ml_wide_r1$`nine months`)
ml_wide_r1$`sixteen months`<-as.numeric(ml_wide_r1$`sixteen months`)## [1] 150 26
## [1] 150 4
## # A tibble: 150 × 4
## # Groups: code, Time_month [30]
## code Time_month plot per_ml
## <chr> <chr> <chr> <dbl>
## 1 A nine months R1 37.7
## 2 A nine months R2 26.8
## 3 A nine months R3 34.9
## 4 A nine months R4 52.8
## 5 A nine months R5 40.8
## 6 A one month R1 13.1
## 7 A one month R2 9.54
## 8 A one month R3 4.83
## 9 A one month R4 9.76
## 10 A one month R5 13.8
## # … with 140 more rows
## # ℹ Use `print(n = ...)` to see more rows
## # A tibble: 5 × 8
## # Groups: code [5]
## code plot `nine months` `one month` `six months` sixteen mon…¹ three…² zero
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 A R1 37.7 13.1 18.7 53.8 13.1 0
## 2 B R1 18.3 5.45 8.66 28.0 8.23 0
## 3 C R1 50.7 12.5 22.6 42.1 19.8 0
## 4 D R1 20.2 2.15 3.98 40.8 8.50 0
## 5 E R1 28.7 10.8 27.4 72.8 14.7 0
## # … with abbreviated variable names ¹`sixteen months`, ²`three months`
#A
expected_r1_mon_16_a <- ml_wide_r1 %>%
filter(code == 'A')
expected_r1_mon_16_a<-sum(expected_r1_mon_16_a$`sixteen months`)/1
#AB
expected_r1_mon_16_a_b <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B')
expected_r1_mon_16_a_b<-sum(expected_r1_mon_16_a_b$`sixteen months`)/2
#ABC
expected_r1_mon_16_a_b_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r1_mon_16_a_b_c<-sum(expected_r1_mon_16_a_b_c$`sixteen months`)/3
#ABCD
expected_r1_mon_16_a_b_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_16_a_b_c_d<-sum(expected_r1_mon_16_a_b_c_d$`sixteen months`)/4
#ABCDE
expected_r1_mon_16_a_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_16_a_b_c_d_e<-sum(expected_r1_mon_16_a_b_c_d_e$`sixteen months`)/5
#ABCE
expected_r1_mon_16_a_b_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_16_a_b_c_e<-sum(expected_r1_mon_16_a_b_c_e$`sixteen months`)/4
#ABD
expected_r1_mon_16_a_b_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r1_mon_16_a_b_d<-sum(expected_r1_mon_16_a_b_d$`sixteen months`)/3
#ABDE
expected_r1_mon_16_a_b_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_16_a_b_d_e<-sum(expected_r1_mon_16_a_b_d_e$`sixteen months`)/4
#ABE
expected_r1_mon_16_a_b_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r1_mon_16_a_b_e<-sum(expected_r1_mon_16_a_b_e$`sixteen months`)/3
#AC
expected_r1_mon_16_a_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C')
expected_r1_mon_16_a_c<-sum(expected_r1_mon_16_a_c$`sixteen months`)/2
#ACD
expected_r1_mon_16_a_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r1_mon_16_a_c_d<-sum(expected_r1_mon_16_a_c_d$`sixteen months`)/3
#ACDE
expected_r1_mon_16_a_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_16_a_c_d_e<-sum(expected_r1_mon_16_a_c_d_e$`sixteen months`)/4
#ACE
expected_r1_mon_16_a_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r1_mon_16_a_c_e<-sum(expected_r1_mon_16_a_c_e$`sixteen months`)/3
#AD
expected_r1_mon_16_a_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D')
expected_r1_mon_16_a_d<-sum(expected_r1_mon_16_a_d$`sixteen months`)/2
#ADE
expected_r1_mon_16_a_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r1_mon_16_a_d_e<-sum(expected_r1_mon_16_a_d_e$`sixteen months`)/3
#AE
expected_r1_mon_16_a_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'E')
expected_r1_mon_16_a_e<-sum(expected_r1_mon_16_a_e$`sixteen months`)/2
#B
expected_r1_mon_16_b <- ml_wide_r1 %>%
filter(code == 'B')
expected_r1_mon_16_b<-sum(expected_r1_mon_16_b$`sixteen months`)/1
#BC
expected_r1_mon_16_b_c <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C')
expected_r1_mon_16_b_c<-sum(expected_r1_mon_16_b_c$`sixteen months`)/2
#BCD
expected_r1_mon_16_b_c_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_16_b_c_d<-sum(expected_r1_mon_16_b_c_d$`sixteen months`)/3
#BCDE
expected_r1_mon_16_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_16_b_c_d_e<-sum(expected_r1_mon_16_b_c_d_e$`sixteen months`)/4
#BCE
expected_r1_mon_16_b_c_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_16_b_c_e<-sum(expected_r1_mon_16_b_c_e$`sixteen months`)/3
#BD
expected_r1_mon_16_b_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D')
expected_r1_mon_16_b_d<-sum(expected_r1_mon_16_b_d$`sixteen months`)/2
#BDE
expected_r1_mon_16_b_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_16_b_d_e<-sum(expected_r1_mon_16_b_d_e$`sixteen months`)/3
#BE
expected_r1_mon_16_b_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'E')
expected_r1_mon_16_b_e<-sum(expected_r1_mon_16_b_e$`sixteen months`)/2
#C
expected_r1_mon_16_c <- ml_wide_r1 %>%
filter(code == 'C')
expected_r1_mon_16_c<-sum(expected_r1_mon_16_c$`sixteen months`)/1
#CD
expected_r1_mon_16_c_d <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D')
expected_r1_mon_16_c_d<-sum(expected_r1_mon_16_c_d$`sixteen months`)/2
#CDE
expected_r1_mon_16_c_d_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_16_c_d_e<-sum(expected_r1_mon_16_c_d_e$`sixteen months`)/3
#CE
expected_r1_mon_16_c_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'E')
expected_r1_mon_16_c_e<-sum(expected_r1_mon_16_c_e$`sixteen months`)/2
#D
expected_r1_mon_16_d <- ml_wide_r1 %>%
filter(code == 'D')
expected_r1_mon_16_d<-sum(expected_r1_mon_16_d$`sixteen months`)/1
#DE
expected_r1_mon_16_d_e <- ml_wide_r1 %>%
filter(code == 'D'| code == 'E')
expected_r1_mon_16_d_e<-sum(expected_r1_mon_16_d_e$`sixteen months`)/2
#E
expected_r1_mon_16_e <- ml_wide_r1 %>%
filter(code == 'E')
expected_r1_mon_16_e<-sum(expected_r1_mon_16_e$`sixteen months`)/1
expected_r1_ml_16<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r1_ml_16=c(expected_r1_mon_16_a,expected_r1_mon_16_a_b,expected_r1_mon_16_a_b_c,expected_r1_mon_16_a_b_c_d,expected_r1_mon_16_a_b_c_d_e, expected_r1_mon_16_a_b_c_e,expected_r1_mon_16_a_b_d,expected_r1_mon_16_a_b_d_e,expected_r1_mon_16_a_b_e,expected_r1_mon_16_a_c, expected_r1_mon_16_a_c_d,expected_r1_mon_16_a_b_c_d_e,
expected_r1_mon_16_a_c_e,expected_r1_mon_16_a_d,expected_r1_mon_16_a_d_e,expected_r1_mon_16_a_e,expected_r1_mon_16_b,expected_r1_mon_16_b_c,expected_r1_mon_16_b_c_d,expected_r1_mon_16_b_c_d_e,expected_r1_mon_16_b_c_e,expected_r1_mon_16_b_d,expected_r1_mon_16_b_d_e, expected_r1_mon_16_b_e,expected_r1_mon_16_c,expected_r1_mon_16_c_d,expected_r1_mon_16_c_d_e,expected_r1_mon_16_c_e,
expected_r1_mon_16_d,expected_r1_mon_16_d_e,expected_r1_mon_16_e))ml_s_r2<- ml_s[ml_s$plot == "R2",]
library(tidyr)
ml_wide_r2 <- spread(ml_s_r2, Time_month, per_ml)
ml_wide_r2
ml_wide_r2$code<-as.factor(ml_wide_r2$code)
ml_wide_r2$`one month`<-as.numeric(ml_wide_r2$`one month`)
ml_wide_r2$`three months`<-as.numeric(ml_wide_r2$`three months`)
ml_wide_r2$`six months`<-as.numeric(ml_wide_r2$`six months`)
ml_wide_r2$`nine months`<-as.numeric(ml_wide_r2$`nine months`)
ml_wide_r2$`sixteen months`<-as.numeric(ml_wide_r2$`sixteen months`)
#ml_wide_r2$nine=ml_wide_r2$`nine months`
#A
expected_r2_mon_16_a <- ml_wide_r2 %>%
filter(code == 'A')
expected_r2_mon_16_a<-sum(expected_r2_mon_16_a$`sixteen months`)/1
#AB
expected_r2_mon_16_a_b <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B')
expected_r2_mon_16_a_b<-sum(expected_r2_mon_16_a_b$`sixteen months`)/2
#ABC
expected_r2_mon_16_a_b_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r2_mon_16_a_b_c<-sum(expected_r2_mon_16_a_b_c$`sixteen months`)/3
#ABCD
expected_r2_mon_16_a_b_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_16_a_b_c_d<-sum(expected_r2_mon_16_a_b_c_d$`sixteen months`)/4
#ABCDE
expected_r2_mon_16_a_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_16_a_b_c_d_e<-sum(expected_r2_mon_16_a_b_c_d_e$`sixteen months`)/5
#ABCE
expected_r2_mon_16_a_b_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_16_a_b_c_e<-sum(expected_r2_mon_16_a_b_c_e$`sixteen months`)/4
#ABD
expected_r2_mon_16_a_b_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r2_mon_16_a_b_d<-sum(expected_r2_mon_16_a_b_d$`sixteen months`)/3
#ABDE
expected_r2_mon_16_a_b_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_16_a_b_d_e<-sum(expected_r2_mon_16_a_b_d_e$`sixteen months`)/4
#ABE
expected_r2_mon_16_a_b_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r2_mon_16_a_b_e<-sum(expected_r2_mon_16_a_b_e$`sixteen months`)/3
#AC
expected_r2_mon_16_a_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C')
expected_r2_mon_16_a_c<-sum(expected_r2_mon_16_a_c$`sixteen months`)/2
#ACD
expected_r2_mon_16_a_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r2_mon_16_a_c_d<-sum(expected_r2_mon_16_a_c_d$`sixteen months`)/3
#ACDE
expected_r2_mon_16_a_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_16_a_c_d_e<-sum(expected_r2_mon_16_a_c_d_e$`sixteen months`)/4
#ACE
expected_r2_mon_16_a_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r2_mon_16_a_c_e<-sum(expected_r2_mon_16_a_c_e$`sixteen months`)/3
#AD
expected_r2_mon_16_a_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D')
expected_r2_mon_16_a_d<-sum(expected_r2_mon_16_a_d$`sixteen months`)/2
#ADE
expected_r2_mon_16_a_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r2_mon_16_a_d_e<-sum(expected_r2_mon_16_a_d_e$`sixteen months`)/3
#AE
expected_r2_mon_16_a_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'E')
expected_r2_mon_16_a_e<-sum(expected_r2_mon_16_a_e$`sixteen months`)/2
#B
expected_r2_mon_16_b <- ml_wide_r2 %>%
filter(code == 'B')
expected_r2_mon_16_b<-sum(expected_r2_mon_16_b$`sixteen months`)/1
#BC
expected_r2_mon_16_b_c <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C')
expected_r2_mon_16_b_c<-sum(expected_r2_mon_16_b_c$`sixteen months`)/2
#BCD
expected_r2_mon_16_b_c_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_16_b_c_d<-sum(expected_r2_mon_16_b_c_d$`sixteen months`)/3
#BCDE
expected_r2_mon_16_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_16_b_c_d_e<-sum(expected_r2_mon_16_b_c_d_e$`sixteen months`)/4
#BCE
expected_r2_mon_16_b_c_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_16_b_c_e<-sum(expected_r2_mon_16_b_c_e$`sixteen months`)/3
#BD
expected_r2_mon_16_b_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D')
expected_r2_mon_16_b_d<-sum(expected_r2_mon_16_b_d$`sixteen months`)/2
#BDE
expected_r2_mon_16_b_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_16_b_d_e<-sum(expected_r2_mon_16_b_d_e$`sixteen months`)/3
#BE
expected_r2_mon_16_b_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'E')
expected_r2_mon_16_b_e<-sum(expected_r2_mon_16_b_e$`sixteen months`)/2
#C
expected_r2_mon_16_c <- ml_wide_r2 %>%
filter(code == 'C')
expected_r2_mon_16_c<-sum(expected_r2_mon_16_c$`sixteen months`)/1
#CD
expected_r2_mon_16_c_d <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D')
expected_r2_mon_16_c_d<-sum(expected_r2_mon_16_c_d$`sixteen months`)/2
#CDE
expected_r2_mon_16_c_d_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_16_c_d_e<-sum(expected_r2_mon_16_c_d_e$`sixteen months`)/3
#CE
expected_r2_mon_16_c_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'E')
expected_r2_mon_16_c_e<-sum(expected_r2_mon_16_c_e$`sixteen months`)/2
#D
expected_r2_mon_16_d <- ml_wide_r2 %>%
filter(code == 'D')
expected_r2_mon_16_d<-sum(expected_r2_mon_16_d$`sixteen months`)/1
#DE
expected_r2_mon_16_d_e <- ml_wide_r2 %>%
filter(code == 'D'| code == 'E')
expected_r2_mon_16_d_e<-sum(expected_r2_mon_16_d_e$`sixteen months`)/2
#E
expected_r2_mon_16_e <- ml_wide_r2 %>%
filter(code == 'E')
expected_r2_mon_16_e<-sum(expected_r2_mon_16_e$`sixteen months`)/1
expected_r2_ml_16<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r2_ml_16=c(expected_r2_mon_16_a,expected_r2_mon_16_a_b,expected_r2_mon_16_a_b_c,expected_r2_mon_16_a_b_c_d,expected_r2_mon_16_a_b_c_d_e, expected_r2_mon_16_a_b_c_e,expected_r2_mon_16_a_b_d,expected_r2_mon_16_a_b_d_e,expected_r2_mon_16_a_b_e,expected_r2_mon_16_a_c, expected_r2_mon_16_a_c_d,expected_r2_mon_16_a_b_c_d_e,
expected_r2_mon_16_a_c_e,expected_r2_mon_16_a_d,expected_r2_mon_16_a_d_e,expected_r2_mon_16_a_e,expected_r2_mon_16_b,expected_r2_mon_16_b_c,expected_r2_mon_16_b_c_d,expected_r2_mon_16_b_c_d_e,expected_r2_mon_16_b_c_e,expected_r2_mon_16_b_d,expected_r2_mon_16_b_d_e, expected_r2_mon_16_b_e,expected_r2_mon_16_c,expected_r2_mon_16_c_d,expected_r2_mon_16_c_d_e,expected_r2_mon_16_c_e,
expected_r2_mon_16_d,expected_r2_mon_16_d_e,expected_r2_mon_16_e))## # A tibble: 5 × 8
## # Groups: code [5]
## code plot `nine months` `one month` `six months` sixteen mon…¹ three…² zero
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 A R2 26.8 9.54 20.3 57.2 13.7 0
## 2 B R2 19.9 4.92 5.56 35.0 7.38 0
## 3 C R2 30.9 3.23 15.9 49.8 7.10 0
## 4 D R2 18.2 -1.18 13.2 34.8 1.40 0
## 5 E R2 27.1 7.98 19.1 49.8 13.9 0
## # … with abbreviated variable names ¹`sixteen months`, ²`three months`
ml_s_r3<- ml_s[ml_s$plot == "R3",]
library(tidyr)
ml_wide_r3 <- spread(ml_s_r3, Time_month, per_ml)
ml_wide_r3
ml_wide_r3$code<-as.factor(ml_wide_r3$code)
ml_wide_r3$`one month`<-as.numeric(ml_wide_r3$`one month`)
ml_wide_r3$`three months`<-as.numeric(ml_wide_r3$`three months`)
ml_wide_r3$`six months`<-as.numeric(ml_wide_r3$`six months`)
ml_wide_r3$`nine months`<-as.numeric(ml_wide_r3$`nine months`)
ml_wide_r3$`sixteen months`<-as.numeric(ml_wide_r3$`sixteen months`)
ml_wide_r3$nine=ml_wide_r3$`nine months`
#A
expected_r3_mon_16_a <- ml_wide_r3 %>%
filter(code == 'A')
expected_r3_mon_16_a<-sum(expected_r3_mon_16_a$`sixteen months`)/1
#AB
expected_r3_mon_16_a_b <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B')
expected_r3_mon_16_a_b<-sum(expected_r3_mon_16_a_b$`sixteen months`)/2
#ABC
expected_r3_mon_16_a_b_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r3_mon_16_a_b_c<-sum(expected_r3_mon_16_a_b_c$`sixteen months`)/3
#ABCD
expected_r3_mon_16_a_b_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_16_a_b_c_d<-sum(expected_r3_mon_16_a_b_c_d$`sixteen months`)/4
#ABCDE
expected_r3_mon_16_a_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_16_a_b_c_d_e<-sum(expected_r3_mon_16_a_b_c_d_e$`sixteen months`)/5
#ABCE
expected_r3_mon_16_a_b_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_16_a_b_c_e<-sum(expected_r3_mon_16_a_b_c_e$`sixteen months`)/4
#ABD
expected_r3_mon_16_a_b_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r3_mon_16_a_b_d<-sum(expected_r3_mon_16_a_b_d$`sixteen months`)/3
#ABDE
expected_r3_mon_16_a_b_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_16_a_b_d_e<-sum(expected_r3_mon_16_a_b_d_e$`sixteen months`)/4
#ABE
expected_r3_mon_16_a_b_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r3_mon_16_a_b_e<-sum(expected_r3_mon_16_a_b_e$`sixteen months`)/3
#AC
expected_r3_mon_16_a_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C')
expected_r3_mon_16_a_c<-sum(expected_r3_mon_16_a_c$`sixteen months`)/2
#ACD
expected_r3_mon_16_a_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r3_mon_16_a_c_d<-sum(expected_r3_mon_16_a_c_d$`sixteen months`)/3
#ACDE
expected_r3_mon_16_a_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_16_a_c_d_e<-sum(expected_r3_mon_16_a_c_d_e$`sixteen months`)/4
#ACE
expected_r3_mon_16_a_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r3_mon_16_a_c_e<-sum(expected_r3_mon_16_a_c_e$`sixteen months`)/3
#AD
expected_r3_mon_16_a_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D')
expected_r3_mon_16_a_d<-sum(expected_r3_mon_16_a_d$`sixteen months`)/2
#ADE
expected_r3_mon_16_a_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r3_mon_16_a_d_e<-sum(expected_r3_mon_16_a_d_e$`sixteen months`)/3
#AE
expected_r3_mon_16_a_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'E')
expected_r3_mon_16_a_e<-sum(expected_r3_mon_16_a_e$`sixteen months`)/2
#B
expected_r3_mon_16_b <- ml_wide_r3 %>%
filter(code == 'B')
expected_r3_mon_16_b<-sum(expected_r3_mon_16_b$`sixteen months`)/1
#BC
expected_r3_mon_16_b_c <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C')
expected_r3_mon_16_b_c<-sum(expected_r3_mon_16_b_c$`sixteen months`)/2
#BCD
expected_r3_mon_16_b_c_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_16_b_c_d<-sum(expected_r3_mon_16_b_c_d$`sixteen months`)/3
#BCDE
expected_r3_mon_16_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_16_b_c_d_e<-sum(expected_r3_mon_16_b_c_d_e$`sixteen months`)/4
#BCE
expected_r3_mon_16_b_c_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_16_b_c_e<-sum(expected_r3_mon_16_b_c_e$`sixteen months`)/3
#BD
expected_r3_mon_16_b_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D')
expected_r3_mon_16_b_d<-sum(expected_r3_mon_16_b_d$`sixteen months`)/2
#BDE
expected_r3_mon_16_b_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_16_b_d_e<-sum(expected_r3_mon_16_b_d_e$`sixteen months`)/3
#BE
expected_r3_mon_16_b_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'E')
expected_r3_mon_16_b_e<-sum(expected_r3_mon_16_b_e$`sixteen months`)/2
#C
expected_r3_mon_16_c <- ml_wide_r3 %>%
filter(code == 'C')
expected_r3_mon_16_c<-sum(expected_r3_mon_16_c$`sixteen months`)/1
#CD
expected_r3_mon_16_c_d <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D')
expected_r3_mon_16_c_d<-sum(expected_r3_mon_16_c_d$`sixteen months`)/2
#CDE
expected_r3_mon_16_c_d_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_16_c_d_e<-sum(expected_r3_mon_16_c_d_e$`sixteen months`)/3
#CE
expected_r3_mon_16_c_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'E')
expected_r3_mon_16_c_e<-sum(expected_r3_mon_16_c_e$`sixteen months`)/2
#D
expected_r3_mon_16_d <- ml_wide_r3 %>%
filter(code == 'D')
expected_r3_mon_16_d<-sum(expected_r3_mon_16_d$`sixteen months`)/1
#DE
expected_r3_mon_16_d_e <- ml_wide_r3 %>%
filter(code == 'D'| code == 'E')
expected_r3_mon_16_d_e<-sum(expected_r3_mon_16_d_e$`sixteen months`)/2
#E
expected_r3_mon_16_e <- ml_wide_r3 %>%
filter(code == 'E')
expected_r3_mon_16_e<-sum(expected_r3_mon_16_e$`sixteen months`)/1
expected_r3_ml_16<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r3_ml_16=c(expected_r3_mon_16_a,expected_r3_mon_16_a_b,expected_r3_mon_16_a_b_c,expected_r3_mon_16_a_b_c_d,expected_r3_mon_16_a_b_c_d_e, expected_r3_mon_16_a_b_c_e,expected_r3_mon_16_a_b_d,expected_r3_mon_16_a_b_d_e,expected_r3_mon_16_a_b_e,expected_r3_mon_16_a_c, expected_r3_mon_16_a_c_d,expected_r3_mon_16_a_b_c_d_e,
expected_r3_mon_16_a_c_e,expected_r3_mon_16_a_d,expected_r3_mon_16_a_d_e,expected_r3_mon_16_a_e,expected_r3_mon_16_b,expected_r3_mon_16_b_c,expected_r3_mon_16_b_c_d,expected_r3_mon_16_b_c_d_e,expected_r3_mon_16_b_c_e,expected_r3_mon_16_b_d,expected_r3_mon_16_b_d_e, expected_r3_mon_16_b_e,expected_r3_mon_16_c,expected_r3_mon_16_c_d,expected_r3_mon_16_c_d_e,expected_r3_mon_16_c_e,
expected_r3_mon_16_d,expected_r3_mon_16_d_e,expected_r3_mon_16_e))## # A tibble: 5 × 8
## # Groups: code [5]
## code plot `nine months` `one month` `six months` sixteen mon…¹ three…² zero
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 A R3 34.9 4.83 19.1 49.5 13.7 0
## 2 B R3 19.9 1.28 7.70 55.5 3.63 0
## 3 C R3 42.9 7.32 49.5 38.2 18.5 0
## 4 D R3 29.0 1.29 9.14 30.0 9.36 0
## 5 E R3 30.7 2.07 16.9 37.8 15.3 0
## # … with abbreviated variable names ¹`sixteen months`, ²`three months`
ml_s_r4<- ml_s[ml_s$plot == "R4",]
library(tidyr)
ml_wide_r4 <- spread(ml_s_r4, Time_month, per_ml)
ml_wide_r4
ml_wide_r4$code<-as.factor(ml_wide_r4$code)
ml_wide_r4$`one month`<-as.numeric(ml_wide_r4$`one month`)
ml_wide_r4$`three months`<-as.numeric(ml_wide_r4$`three months`)
ml_wide_r4$`six months`<-as.numeric(ml_wide_r4$`six months`)
ml_wide_r4$`nine months`<-as.numeric(ml_wide_r4$`nine months`)
ml_wide_r4$`sixteen months`<-as.numeric(ml_wide_r4$`sixteen months`)
ml_wide_r4$nine=ml_wide_r4$`nine months`
#A
expected_r4_mon_16_a <- ml_wide_r4 %>%
filter(code == 'A')
expected_r4_mon_16_a<-sum(expected_r4_mon_16_a$`sixteen months`)/1
#AB
expected_r4_mon_16_a_b <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B')
expected_r4_mon_16_a_b<-sum(expected_r4_mon_16_a_b$`sixteen months`)/2
#ABC
expected_r4_mon_16_a_b_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r4_mon_16_a_b_c<-sum(expected_r4_mon_16_a_b_c$`sixteen months`)/3
#ABCD
expected_r4_mon_16_a_b_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_16_a_b_c_d<-sum(expected_r4_mon_16_a_b_c_d$`sixteen months`)/4
#ABCDE
expected_r4_mon_16_a_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_16_a_b_c_d_e<-sum(expected_r4_mon_16_a_b_c_d_e$`sixteen months`)/5
#ABCE
expected_r4_mon_16_a_b_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_16_a_b_c_e<-sum(expected_r4_mon_16_a_b_c_e$`sixteen months`)/4
#ABD
expected_r4_mon_16_a_b_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r4_mon_16_a_b_d<-sum(expected_r4_mon_16_a_b_d$`sixteen months`)/3
#ABDE
expected_r4_mon_16_a_b_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_16_a_b_d_e<-sum(expected_r4_mon_16_a_b_d_e$`sixteen months`)/4
#ABE
expected_r4_mon_16_a_b_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r4_mon_16_a_b_e<-sum(expected_r4_mon_16_a_b_e$`sixteen months`)/3
#AC
expected_r4_mon_16_a_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C')
expected_r4_mon_16_a_c<-sum(expected_r4_mon_16_a_c$`sixteen months`)/2
#ACD
expected_r4_mon_16_a_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r4_mon_16_a_c_d<-sum(expected_r4_mon_16_a_c_d$`sixteen months`)/3
#ACDE
expected_r4_mon_16_a_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_16_a_c_d_e<-sum(expected_r4_mon_16_a_c_d_e$`sixteen months`)/4
#ACE
expected_r4_mon_16_a_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r4_mon_16_a_c_e<-sum(expected_r4_mon_16_a_c_e$`sixteen months`)/3
#AD
expected_r4_mon_16_a_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D')
expected_r4_mon_16_a_d<-sum(expected_r4_mon_16_a_d$`sixteen months`)/2
#ADE
expected_r4_mon_16_a_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r4_mon_16_a_d_e<-sum(expected_r4_mon_16_a_d_e$`sixteen months`)/3
#AE
expected_r4_mon_16_a_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'E')
expected_r4_mon_16_a_e<-sum(expected_r4_mon_16_a_e$`sixteen months`)/2
#B
expected_r4_mon_16_b <- ml_wide_r4 %>%
filter(code == 'B')
expected_r4_mon_16_b<-sum(expected_r4_mon_16_b$`sixteen months`)/1
#BC
expected_r4_mon_16_b_c <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C')
expected_r4_mon_16_b_c<-sum(expected_r4_mon_16_b_c$`sixteen months`)/2
#BCD
expected_r4_mon_16_b_c_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_16_b_c_d<-sum(expected_r4_mon_16_b_c_d$`sixteen months`)/3
#BCDE
expected_r4_mon_16_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_16_b_c_d_e<-sum(expected_r4_mon_16_b_c_d_e$`sixteen months`)/4
#BCE
expected_r4_mon_16_b_c_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_16_b_c_e<-sum(expected_r4_mon_16_b_c_e$`sixteen months`)/3
#BD
expected_r4_mon_16_b_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D')
expected_r4_mon_16_b_d<-sum(expected_r4_mon_16_b_d$`sixteen months`)/2
#BDE
expected_r4_mon_16_b_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_16_b_d_e<-sum(expected_r4_mon_16_b_d_e$`sixteen months`)/3
#BE
expected_r4_mon_16_b_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'E')
expected_r4_mon_16_b_e<-sum(expected_r4_mon_16_b_e$`sixteen months`)/2
#C
expected_r4_mon_16_c <- ml_wide_r4 %>%
filter(code == 'C')
expected_r4_mon_16_c<-sum(expected_r4_mon_16_c$`sixteen months`)/1
#CD
expected_r4_mon_16_c_d <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D')
expected_r4_mon_16_c_d<-sum(expected_r4_mon_16_c_d$`sixteen months`)/2
#CDE
expected_r4_mon_16_c_d_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_16_c_d_e<-sum(expected_r4_mon_16_c_d_e$`sixteen months`)/3
#CE
expected_r4_mon_16_c_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'E')
expected_r4_mon_16_c_e<-sum(expected_r4_mon_16_c_e$`sixteen months`)/2
#D
expected_r4_mon_16_d <- ml_wide_r4 %>%
filter(code == 'D')
expected_r4_mon_16_d<-sum(expected_r4_mon_16_d$`sixteen months`)/1
#DE
expected_r4_mon_16_d_e <- ml_wide_r4 %>%
filter(code == 'D'| code == 'E')
expected_r4_mon_16_d_e<-sum(expected_r4_mon_16_d_e$`sixteen months`)/2
#E
expected_r4_mon_16_e <- ml_wide_r4 %>%
filter(code == 'E')
expected_r4_mon_16_e<-sum(expected_r4_mon_16_e$`sixteen months`)/1
expected_r4_ml_16<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r4_ml_16=c(expected_r4_mon_16_a,expected_r4_mon_16_a_b,expected_r4_mon_16_a_b_c,expected_r4_mon_16_a_b_c_d,expected_r4_mon_16_a_b_c_d_e, expected_r4_mon_16_a_b_c_e,expected_r4_mon_16_a_b_d,expected_r4_mon_16_a_b_d_e,expected_r4_mon_16_a_b_e,expected_r4_mon_16_a_c, expected_r4_mon_16_a_c_d,expected_r4_mon_16_a_b_c_d_e,
expected_r4_mon_16_a_c_e,expected_r4_mon_16_a_d,expected_r4_mon_16_a_d_e,expected_r4_mon_16_a_e,expected_r4_mon_16_b,expected_r4_mon_16_b_c,expected_r4_mon_16_b_c_d,expected_r4_mon_16_b_c_d_e,expected_r4_mon_16_b_c_e,expected_r4_mon_16_b_d,expected_r4_mon_16_b_d_e, expected_r4_mon_16_b_e,expected_r4_mon_16_c,expected_r4_mon_16_c_d,expected_r4_mon_16_c_d_e,expected_r4_mon_16_c_e,
expected_r4_mon_16_d,expected_r4_mon_16_d_e,expected_r4_mon_16_e))## # A tibble: 5 × 8
## # Groups: code [5]
## code plot `nine months` `one month` `six months` sixteen mon…¹ three…² zero
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 A R4 52.8 9.76 23.6 49.9 13.9 0
## 2 B R4 27.7 3.53 14.9 NaN 7.16 0
## 3 C R4 27.0 9.47 42.2 52.6 14.0 0
## 4 D R4 7.91 6.02 11.8 40.6 2.37 0
## 5 E R4 36.3 12.6 18.8 46.2 17.8 0
## # … with abbreviated variable names ¹`sixteen months`, ²`three months`
ml_s_r5<- ml_s[ml_s$plot == "R5",]
ml_wide_r5 <- spread(ml_s_r5, Time_month, per_ml)
ml_wide_r5
ml_wide_r5$code<-as.factor(ml_wide_r5$code)
ml_wide_r5$`one month`<-as.numeric(ml_wide_r5$`one month`)
ml_wide_r5$`three months`<-as.numeric(ml_wide_r5$`three months`)
ml_wide_r5$`six months`<-as.numeric(ml_wide_r5$`six months`)
ml_wide_r5$`nine months`<-as.numeric(ml_wide_r5$`nine months`)
ml_wide_r5$`sixteen months`<-as.numeric(ml_wide_r5$`sixteen months`)
ml_wide_r5$nine=ml_wide_r5$`nine months`
#A
expected_r5_mon_16_a <- ml_wide_r5 %>%
filter(code == 'A')
expected_r5_mon_16_a<-sum(expected_r5_mon_16_a$`sixteen months`)/1
#AB
expected_r5_mon_16_a_b <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B')
expected_r5_mon_16_a_b<-sum(expected_r5_mon_16_a_b$`sixteen months`)/2
#ABC
expected_r5_mon_16_a_b_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r5_mon_16_a_b_c<-sum(expected_r5_mon_16_a_b_c$`sixteen months`)/3
#ABCD
expected_r5_mon_16_a_b_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_16_a_b_c_d<-sum(expected_r5_mon_16_a_b_c_d$`sixteen months`)/4
#ABCDE
expected_r5_mon_16_a_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_16_a_b_c_d_e<-sum(expected_r5_mon_16_a_b_c_d_e$`sixteen months`)/5
#ABCE
expected_r5_mon_16_a_b_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_16_a_b_c_e<-sum(expected_r5_mon_16_a_b_c_e$`sixteen months`)/4
#ABD
expected_r5_mon_16_a_b_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r5_mon_16_a_b_d<-sum(expected_r5_mon_16_a_b_d$`sixteen months`)/3
#ABDE
expected_r5_mon_16_a_b_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_16_a_b_d_e<-sum(expected_r5_mon_16_a_b_d_e$`sixteen months`)/4
#ABE
expected_r5_mon_16_a_b_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r5_mon_16_a_b_e<-sum(expected_r5_mon_16_a_b_e$`sixteen months`)/3
#AC
expected_r5_mon_16_a_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C')
expected_r5_mon_16_a_c<-sum(expected_r5_mon_16_a_c$`sixteen months`)/2
#ACD
expected_r5_mon_16_a_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r5_mon_16_a_c_d<-sum(expected_r5_mon_16_a_c_d$`sixteen months`)/3
#ACDE
expected_r5_mon_16_a_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_16_a_c_d_e<-sum(expected_r5_mon_16_a_c_d_e$`sixteen months`)/4
#ACE
expected_r5_mon_16_a_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r5_mon_16_a_c_e<-sum(expected_r5_mon_16_a_c_e$`sixteen months`)/3
#AD
expected_r5_mon_16_a_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D')
expected_r5_mon_16_a_d<-sum(expected_r5_mon_16_a_d$`sixteen months`)/2
#ADE
expected_r5_mon_16_a_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r5_mon_16_a_d_e<-sum(expected_r5_mon_16_a_d_e$`sixteen months`)/3
#AE
expected_r5_mon_16_a_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'E')
expected_r5_mon_16_a_e<-sum(expected_r5_mon_16_a_e$`sixteen months`)/2
#B
expected_r5_mon_16_b <- ml_wide_r5 %>%
filter(code == 'B')
expected_r5_mon_16_b<-sum(expected_r5_mon_16_b$`sixteen months`)/1
#BC
expected_r5_mon_16_b_c <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C')
expected_r5_mon_16_b_c<-sum(expected_r5_mon_16_b_c$`sixteen months`)/2
#BCD
expected_r5_mon_16_b_c_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_16_b_c_d<-sum(expected_r5_mon_16_b_c_d$`sixteen months`)/3
#BCDE
expected_r5_mon_16_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_16_b_c_d_e<-sum(expected_r5_mon_16_b_c_d_e$`sixteen months`)/4
#BCE
expected_r5_mon_16_b_c_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_16_b_c_e<-sum(expected_r5_mon_16_b_c_e$`sixteen months`)/3
#BD
expected_r5_mon_16_b_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D')
expected_r5_mon_16_b_d<-sum(expected_r5_mon_16_b_d$`sixteen months`)/2
#BDE
expected_r5_mon_16_b_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_16_b_d_e<-sum(expected_r5_mon_16_b_d_e$`sixteen months`)/3
#BE
expected_r5_mon_16_b_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'E')
expected_r5_mon_16_b_e<-sum(expected_r5_mon_16_b_e$`sixteen months`)/2
#C
expected_r5_mon_16_c <- ml_wide_r5 %>%
filter(code == 'C')
expected_r5_mon_16_c<-sum(expected_r5_mon_16_c$`sixteen months`)/1
#CD
expected_r5_mon_16_c_d <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D')
expected_r5_mon_16_c_d<-sum(expected_r5_mon_16_c_d$`sixteen months`)/2
#CDE
expected_r5_mon_16_c_d_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_16_c_d_e<-sum(expected_r5_mon_16_c_d_e$`sixteen months`)/3
#CE
expected_r5_mon_16_c_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'E')
expected_r5_mon_16_c_e<-sum(expected_r5_mon_16_c_e$`sixteen months`)/2
#D
expected_r5_mon_16_d <- ml_wide_r5 %>%
filter(code == 'D')
expected_r5_mon_16_d<-sum(expected_r5_mon_16_d$`sixteen months`)/1
#DE
expected_r5_mon_16_d_e <- ml_wide_r5 %>%
filter(code == 'D'| code == 'E')
expected_r5_mon_16_d_e<-sum(expected_r5_mon_16_d_e$`sixteen months`)/2
#E
expected_r5_mon_16_e <- ml_wide_r5 %>%
filter(code == 'E')
expected_r5_mon_16_e<-sum(expected_r5_mon_16_e$`sixteen months`)/1
expected_r5_ml_16<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r5_ml_16=c(expected_r5_mon_16_a,expected_r5_mon_16_a_b,expected_r5_mon_16_a_b_c,expected_r5_mon_16_a_b_c_d,expected_r5_mon_16_a_b_c_d_e, expected_r5_mon_16_a_b_c_e,expected_r5_mon_16_a_b_d,expected_r5_mon_16_a_b_d_e,expected_r5_mon_16_a_b_e,expected_r5_mon_16_a_c, expected_r5_mon_16_a_c_d,expected_r5_mon_16_a_b_c_d_e,
expected_r5_mon_16_a_c_e,expected_r5_mon_16_a_d,expected_r5_mon_16_a_d_e,expected_r5_mon_16_a_e,expected_r5_mon_16_b,expected_r5_mon_16_b_c,expected_r5_mon_16_b_c_d,expected_r5_mon_16_b_c_d_e,expected_r5_mon_16_b_c_e,expected_r5_mon_16_b_d,expected_r5_mon_16_b_d_e, expected_r5_mon_16_b_e,expected_r5_mon_16_c,expected_r5_mon_16_c_d,expected_r5_mon_16_c_d_e,expected_r5_mon_16_c_e,
expected_r5_mon_16_d,expected_r5_mon_16_d_e,expected_r5_mon_16_e))## # A tibble: 5 × 8
## # Groups: code [5]
## code plot `nine months` `one month` `six months` sixteen mon…¹ three…² zero
## <chr> <chr> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 A R5 40.8 13.8 24.2 55.6 20.1 0
## 2 B R5 18.1 2.73 13.3 NaN 7.43 0
## 3 C R5 27.9 20.6 35.0 55.2 27.4 0
## 4 D R5 16.2 11.4 16.2 NaN 12.1 0
## 5 E R5 26.8 16.5 21.9 41.3 19.5 0
## # … with abbreviated variable names ¹`sixteen months`, ²`three months`
#A
expected_r1_mon_1_a <- ml_wide_r1 %>%
filter(code == 'A')
expected_r1_mon_1_a<-sum(expected_r1_mon_1_a$`one month`)/1
#AB
expected_r1_mon_1_a_b <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B')
expected_r1_mon_1_a_b<-sum(expected_r1_mon_1_a_b$`one month`)/2
#ABC
expected_r1_mon_1_a_b_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r1_mon_1_a_b_c<-sum(expected_r1_mon_1_a_b_c$`one month`)/3
#ABCD
expected_r1_mon_1_a_b_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_1_a_b_c_d<-sum(expected_r1_mon_1_a_b_c_d$`one month`)/4
#ABCDE
expected_r1_mon_1_a_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_1_a_b_c_d_e<-sum(expected_r1_mon_1_a_b_c_d_e$`one month`)/5
#ABCE
expected_r1_mon_1_a_b_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_1_a_b_c_e<-sum(expected_r1_mon_1_a_b_c_e$`one month`)/4
#ABD
expected_r1_mon_1_a_b_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r1_mon_1_a_b_d<-sum(expected_r1_mon_1_a_b_d$`one month`)/3
#ABDE
expected_r1_mon_1_a_b_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_1_a_b_d_e<-sum(expected_r1_mon_1_a_b_d_e$`one month`)/4
#ABE
expected_r1_mon_1_a_b_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r1_mon_1_a_b_e<-sum(expected_r1_mon_1_a_b_e$`one month`)/3
#AC
expected_r1_mon_1_a_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C')
expected_r1_mon_1_a_c<-sum(expected_r1_mon_1_a_c$`one month`)/2
#ACD
expected_r1_mon_1_a_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r1_mon_1_a_c_d<-sum(expected_r1_mon_1_a_c_d$`one month`)/3
#ACDE
expected_r1_mon_1_a_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_1_a_c_d_e<-sum(expected_r1_mon_1_a_c_d_e$`one month`)/4
#ACE
expected_r1_mon_1_a_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r1_mon_1_a_c_e<-sum(expected_r1_mon_1_a_c_e$`one month`)/3
#AD
expected_r1_mon_1_a_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D')
expected_r1_mon_1_a_d<-sum(expected_r1_mon_1_a_d$`one month`)/2
#ADE
expected_r1_mon_1_a_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r1_mon_1_a_d_e<-sum(expected_r1_mon_1_a_d_e$`one month`)/3
#AE
expected_r1_mon_1_a_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'E')
expected_r1_mon_1_a_e<-sum(expected_r1_mon_1_a_e$`one month`)/2
#B
expected_r1_mon_1_b <- ml_wide_r1 %>%
filter(code == 'B')
expected_r1_mon_1_b<-sum(expected_r1_mon_1_b$`one month`)/1
#BC
expected_r1_mon_1_b_c <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C')
expected_r1_mon_1_b_c<-sum(expected_r1_mon_1_b_c$`one month`)/2
#BCD
expected_r1_mon_1_b_c_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_1_b_c_d<-sum(expected_r1_mon_1_b_c_d$`one month`)/3
#BCDE
expected_r1_mon_1_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_1_b_c_d_e<-sum(expected_r1_mon_1_b_c_d_e$`one month`)/4
#BCE
expected_r1_mon_1_b_c_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_1_b_c_e<-sum(expected_r1_mon_1_b_c_e$`one month`)/3
#BD
expected_r1_mon_1_b_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D')
expected_r1_mon_1_b_d<-sum(expected_r1_mon_1_b_d$`one month`)/2
#BDE
expected_r1_mon_1_b_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_1_b_d_e<-sum(expected_r1_mon_1_b_d_e$`one month`)/3
#BE
expected_r1_mon_1_b_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'E')
expected_r1_mon_1_b_e<-sum(expected_r1_mon_1_b_e$`one month`)/2
#C
expected_r1_mon_1_c <- ml_wide_r1 %>%
filter(code == 'C')
expected_r1_mon_1_c<-sum(expected_r1_mon_1_c$`one month`)/1
#CD
expected_r1_mon_1_c_d <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D')
expected_r1_mon_1_c_d<-sum(expected_r1_mon_1_c_d$`one month`)/2
#CDE
expected_r1_mon_1_c_d_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_1_c_d_e<-sum(expected_r1_mon_1_c_d_e$`one month`)/3
#CE
expected_r1_mon_1_c_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'E')
expected_r1_mon_1_c_e<-sum(expected_r1_mon_1_c_e$`one month`)/2
#D
expected_r1_mon_1_d <- ml_wide_r1 %>%
filter(code == 'D')
expected_r1_mon_1_d<-sum(expected_r1_mon_1_d$`one month`)/1
#DE
expected_r1_mon_1_d_e <- ml_wide_r1 %>%
filter(code == 'D'| code == 'E')
expected_r1_mon_1_d_e<-sum(expected_r1_mon_1_d_e$`one month`)/2
#E
expected_r1_mon_1_e <- ml_wide_r1 %>%
filter(code == 'E')
expected_r1_mon_1_e<-sum(expected_r1_mon_1_e$`one month`)/1
expected_r1_ml_1<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r1_ml_1=c(expected_r1_mon_1_a,expected_r1_mon_1_a_b,expected_r1_mon_1_a_b_c,expected_r1_mon_1_a_b_c_d,expected_r1_mon_1_a_b_c_d_e, expected_r1_mon_1_a_b_c_e,expected_r1_mon_1_a_b_d,expected_r1_mon_1_a_b_d_e,expected_r1_mon_1_a_b_e,expected_r1_mon_1_a_c, expected_r1_mon_1_a_c_d,expected_r1_mon_1_a_b_c_d_e,
expected_r1_mon_1_a_c_e,expected_r1_mon_1_a_d,expected_r1_mon_1_a_d_e,expected_r1_mon_1_a_e,expected_r1_mon_1_b,expected_r1_mon_1_b_c,expected_r1_mon_1_b_c_d,expected_r1_mon_1_b_c_d_e,expected_r1_mon_1_b_c_e,expected_r1_mon_1_b_d,expected_r1_mon_1_b_d_e, expected_r1_mon_1_b_e,expected_r1_mon_1_c,expected_r1_mon_1_c_d,expected_r1_mon_1_c_d_e,expected_r1_mon_1_c_e,
expected_r1_mon_1_d,expected_r1_mon_1_d_e,expected_r1_mon_1_e))#A
expected_r2_mon_1_a <- ml_wide_r2 %>%
filter(code == 'A')
expected_r2_mon_1_a<-sum(expected_r2_mon_1_a$`one month`)/1
#AB
expected_r2_mon_1_a_b <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B')
expected_r2_mon_1_a_b<-sum(expected_r2_mon_1_a_b$`one month`)/2
#ABC
expected_r2_mon_1_a_b_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r2_mon_1_a_b_c<-sum(expected_r2_mon_1_a_b_c$`one month`)/3
#ABCD
expected_r2_mon_1_a_b_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_1_a_b_c_d<-sum(expected_r2_mon_1_a_b_c_d$`one month`)/4
#ABCDE
expected_r2_mon_1_a_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_1_a_b_c_d_e<-sum(expected_r2_mon_1_a_b_c_d_e$`one month`)/5
#ABCE
expected_r2_mon_1_a_b_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_1_a_b_c_e<-sum(expected_r2_mon_1_a_b_c_e$`one month`)/4
#ABD
expected_r2_mon_1_a_b_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r2_mon_1_a_b_d<-sum(expected_r2_mon_1_a_b_d$`one month`)/3
#ABDE
expected_r2_mon_1_a_b_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_1_a_b_d_e<-sum(expected_r2_mon_1_a_b_d_e$`one month`)/4
#ABE
expected_r2_mon_1_a_b_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r2_mon_1_a_b_e<-sum(expected_r2_mon_1_a_b_e$`one month`)/3
#AC
expected_r2_mon_1_a_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C')
expected_r2_mon_1_a_c<-sum(expected_r2_mon_1_a_c$`one month`)/2
#ACD
expected_r2_mon_1_a_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r2_mon_1_a_c_d<-sum(expected_r2_mon_1_a_c_d$`one month`)/3
#ACDE
expected_r2_mon_1_a_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_1_a_c_d_e<-sum(expected_r2_mon_1_a_c_d_e$`one month`)/4
#ACE
expected_r2_mon_1_a_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r2_mon_1_a_c_e<-sum(expected_r2_mon_1_a_c_e$`one month`)/3
#AD
expected_r2_mon_1_a_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D')
expected_r2_mon_1_a_d<-sum(expected_r2_mon_1_a_d$`one month`)/2
#ADE
expected_r2_mon_1_a_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r2_mon_1_a_d_e<-sum(expected_r2_mon_1_a_d_e$`one month`)/3
#AE
expected_r2_mon_1_a_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'E')
expected_r2_mon_1_a_e<-sum(expected_r2_mon_1_a_e$`one month`)/2
#B
expected_r2_mon_1_b <- ml_wide_r2 %>%
filter(code == 'B')
expected_r2_mon_1_b<-sum(expected_r2_mon_1_b$`one month`)/1
#BC
expected_r2_mon_1_b_c <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C')
expected_r2_mon_1_b_c<-sum(expected_r2_mon_1_b_c$`one month`)/2
#BCD
expected_r2_mon_1_b_c_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_1_b_c_d<-sum(expected_r2_mon_1_b_c_d$`one month`)/3
#BCDE
expected_r2_mon_1_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_1_b_c_d_e<-sum(expected_r2_mon_1_b_c_d_e$`one month`)/4
#BCE
expected_r2_mon_1_b_c_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_1_b_c_e<-sum(expected_r2_mon_1_b_c_e$`one month`)/3
#BD
expected_r2_mon_1_b_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D')
expected_r2_mon_1_b_d<-sum(expected_r2_mon_1_b_d$`one month`)/2
#BDE
expected_r2_mon_1_b_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_1_b_d_e<-sum(expected_r2_mon_1_b_d_e$`one month`)/3
#BE
expected_r2_mon_1_b_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'E')
expected_r2_mon_1_b_e<-sum(expected_r2_mon_1_b_e$`one month`)/2
#C
expected_r2_mon_1_c <- ml_wide_r2 %>%
filter(code == 'C')
expected_r2_mon_1_c<-sum(expected_r2_mon_1_c$`one month`)/1
#CD
expected_r2_mon_1_c_d <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D')
expected_r2_mon_1_c_d<-sum(expected_r2_mon_1_c_d$`one month`)/2
#CDE
expected_r2_mon_1_c_d_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_1_c_d_e<-sum(expected_r2_mon_1_c_d_e$`one month`)/3
#CE
expected_r2_mon_1_c_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'E')
expected_r2_mon_1_c_e<-sum(expected_r2_mon_1_c_e$`one month`)/2
#D
expected_r2_mon_1_d <- ml_wide_r2 %>%
filter(code == 'D')
expected_r2_mon_1_d<-sum(expected_r2_mon_1_d$`one month`)/1
#DE
expected_r2_mon_1_d_e <- ml_wide_r2 %>%
filter(code == 'D'| code == 'E')
expected_r2_mon_1_d_e<-sum(expected_r2_mon_1_d_e$`one month`)/2
#E
expected_r2_mon_1_e <- ml_wide_r2 %>%
filter(code == 'E')
expected_r2_mon_1_e<-sum(expected_r2_mon_1_e$`one month`)/1
expected_r2_ml_1<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r2_ml_1=c(expected_r2_mon_1_a,expected_r2_mon_1_a_b,expected_r2_mon_1_a_b_c,expected_r2_mon_1_a_b_c_d,expected_r2_mon_1_a_b_c_d_e, expected_r2_mon_1_a_b_c_e,expected_r2_mon_1_a_b_d,expected_r2_mon_1_a_b_d_e,expected_r2_mon_1_a_b_e,expected_r2_mon_1_a_c, expected_r2_mon_1_a_c_d,expected_r2_mon_1_a_b_c_d_e,
expected_r2_mon_1_a_c_e,expected_r2_mon_1_a_d,expected_r2_mon_1_a_d_e,expected_r2_mon_1_a_e,expected_r2_mon_1_b,expected_r2_mon_1_b_c,expected_r2_mon_1_b_c_d,expected_r2_mon_1_b_c_d_e,expected_r2_mon_1_b_c_e,expected_r2_mon_1_b_d,expected_r2_mon_1_b_d_e, expected_r2_mon_1_b_e,expected_r2_mon_1_c,expected_r2_mon_1_c_d,expected_r2_mon_1_c_d_e,expected_r2_mon_1_c_e,
expected_r2_mon_1_d,expected_r2_mon_1_d_e,expected_r2_mon_1_e))#A
expected_r3_mon_1_a <- ml_wide_r3 %>%
filter(code == 'A')
expected_r3_mon_1_a<-sum(expected_r3_mon_1_a$`one month`)/1
#AB
expected_r3_mon_1_a_b <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B')
expected_r3_mon_1_a_b<-sum(expected_r3_mon_1_a_b$`one month`)/2
#ABC
expected_r3_mon_1_a_b_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r3_mon_1_a_b_c<-sum(expected_r3_mon_1_a_b_c$`one month`)/3
#ABCD
expected_r3_mon_1_a_b_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_1_a_b_c_d<-sum(expected_r3_mon_1_a_b_c_d$`one month`)/4
#ABCDE
expected_r3_mon_1_a_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_1_a_b_c_d_e<-sum(expected_r3_mon_1_a_b_c_d_e$`one month`)/5
#ABCE
expected_r3_mon_1_a_b_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_1_a_b_c_e<-sum(expected_r3_mon_1_a_b_c_e$`one month`)/4
#ABD
expected_r3_mon_1_a_b_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r3_mon_1_a_b_d<-sum(expected_r3_mon_1_a_b_d$`one month`)/3
#ABDE
expected_r3_mon_1_a_b_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_1_a_b_d_e<-sum(expected_r3_mon_1_a_b_d_e$`one month`)/4
#ABE
expected_r3_mon_1_a_b_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r3_mon_1_a_b_e<-sum(expected_r3_mon_1_a_b_e$`one month`)/3
#AC
expected_r3_mon_1_a_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C')
expected_r3_mon_1_a_c<-sum(expected_r3_mon_1_a_c$`one month`)/2
#ACD
expected_r3_mon_1_a_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r3_mon_1_a_c_d<-sum(expected_r3_mon_1_a_c_d$`one month`)/3
#ACDE
expected_r3_mon_1_a_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_1_a_c_d_e<-sum(expected_r3_mon_1_a_c_d_e$`one month`)/4
#ACE
expected_r3_mon_1_a_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r3_mon_1_a_c_e<-sum(expected_r3_mon_1_a_c_e$`one month`)/3
#AD
expected_r3_mon_1_a_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D')
expected_r3_mon_1_a_d<-sum(expected_r3_mon_1_a_d$`one month`)/2
#ADE
expected_r3_mon_1_a_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r3_mon_1_a_d_e<-sum(expected_r3_mon_1_a_d_e$`one month`)/3
#AE
expected_r3_mon_1_a_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'E')
expected_r3_mon_1_a_e<-sum(expected_r3_mon_1_a_e$`one month`)/2
#B
expected_r3_mon_1_b <- ml_wide_r3 %>%
filter(code == 'B')
expected_r3_mon_1_b<-sum(expected_r3_mon_1_b$`one month`)/1
#BC
expected_r3_mon_1_b_c <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C')
expected_r3_mon_1_b_c<-sum(expected_r3_mon_1_b_c$`one month`)/2
#BCD
expected_r3_mon_1_b_c_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_1_b_c_d<-sum(expected_r3_mon_1_b_c_d$`one month`)/3
#BCDE
expected_r3_mon_1_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_1_b_c_d_e<-sum(expected_r3_mon_1_b_c_d_e$`one month`)/4
#BCE
expected_r3_mon_1_b_c_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_1_b_c_e<-sum(expected_r3_mon_1_b_c_e$`one month`)/3
#BD
expected_r3_mon_1_b_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D')
expected_r3_mon_1_b_d<-sum(expected_r3_mon_1_b_d$`one month`)/2
#BDE
expected_r3_mon_1_b_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_1_b_d_e<-sum(expected_r3_mon_1_b_d_e$`one month`)/3
#BE
expected_r3_mon_1_b_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'E')
expected_r3_mon_1_b_e<-sum(expected_r3_mon_1_b_e$`one month`)/2
#C
expected_r3_mon_1_c <- ml_wide_r3 %>%
filter(code == 'C')
expected_r3_mon_1_c<-sum(expected_r3_mon_1_c$`one month`)/1
#CD
expected_r3_mon_1_c_d <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D')
expected_r3_mon_1_c_d<-sum(expected_r3_mon_1_c_d$`one month`)/2
#CDE
expected_r3_mon_1_c_d_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_1_c_d_e<-sum(expected_r3_mon_1_c_d_e$`one month`)/3
#CE
expected_r3_mon_1_c_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'E')
expected_r3_mon_1_c_e<-sum(expected_r3_mon_1_c_e$`one month`)/2
#D
expected_r3_mon_1_d <- ml_wide_r3 %>%
filter(code == 'D')
expected_r3_mon_1_d<-sum(expected_r3_mon_1_d$`one month`)/1
#DE
expected_r3_mon_1_d_e <- ml_wide_r3 %>%
filter(code == 'D'| code == 'E')
expected_r3_mon_1_d_e<-sum(expected_r3_mon_1_d_e$`one month`)/2
#E
expected_r3_mon_1_e <- ml_wide_r3 %>%
filter(code == 'E')
expected_r3_mon_1_e<-sum(expected_r3_mon_1_e$`one month`)/1
expected_r3_ml_1<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r3_ml_1=c(expected_r3_mon_1_a,expected_r3_mon_1_a_b,expected_r3_mon_1_a_b_c,expected_r3_mon_1_a_b_c_d,expected_r3_mon_1_a_b_c_d_e, expected_r3_mon_1_a_b_c_e,expected_r3_mon_1_a_b_d,expected_r3_mon_1_a_b_d_e,expected_r3_mon_1_a_b_e,expected_r3_mon_1_a_c, expected_r3_mon_1_a_c_d,expected_r3_mon_1_a_b_c_d_e,
expected_r3_mon_1_a_c_e,expected_r3_mon_1_a_d,expected_r3_mon_1_a_d_e,expected_r3_mon_1_a_e,expected_r3_mon_1_b,expected_r3_mon_1_b_c,expected_r3_mon_1_b_c_d,expected_r3_mon_1_b_c_d_e,expected_r3_mon_1_b_c_e,expected_r3_mon_1_b_d,expected_r3_mon_1_b_d_e, expected_r3_mon_1_b_e,expected_r3_mon_1_c,expected_r3_mon_1_c_d,expected_r3_mon_1_c_d_e,expected_r3_mon_1_c_e,
expected_r3_mon_1_d,expected_r3_mon_1_d_e,expected_r3_mon_1_e))#A
expected_r4_mon_1_a <- ml_wide_r4 %>%
filter(code == 'A')
expected_r4_mon_1_a<-sum(expected_r4_mon_1_a$`one month`)/1
#AB
expected_r4_mon_1_a_b <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B')
expected_r4_mon_1_a_b<-sum(expected_r4_mon_1_a_b$`one month`)/2
#ABC
expected_r4_mon_1_a_b_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r4_mon_1_a_b_c<-sum(expected_r4_mon_1_a_b_c$`one month`)/3
#ABCD
expected_r4_mon_1_a_b_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_1_a_b_c_d<-sum(expected_r4_mon_1_a_b_c_d$`one month`)/4
#ABCDE
expected_r4_mon_1_a_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_1_a_b_c_d_e<-sum(expected_r4_mon_1_a_b_c_d_e$`one month`)/5
#ABCE
expected_r4_mon_1_a_b_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_1_a_b_c_e<-sum(expected_r4_mon_1_a_b_c_e$`one month`)/4
#ABD
expected_r4_mon_1_a_b_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r4_mon_1_a_b_d<-sum(expected_r4_mon_1_a_b_d$`one month`)/3
#ABDE
expected_r4_mon_1_a_b_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_1_a_b_d_e<-sum(expected_r4_mon_1_a_b_d_e$`one month`)/4
#ABE
expected_r4_mon_1_a_b_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r4_mon_1_a_b_e<-sum(expected_r4_mon_1_a_b_e$`one month`)/3
#AC
expected_r4_mon_1_a_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C')
expected_r4_mon_1_a_c<-sum(expected_r4_mon_1_a_c$`one month`)/2
#ACD
expected_r4_mon_1_a_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r4_mon_1_a_c_d<-sum(expected_r4_mon_1_a_c_d$`one month`)/3
#ACDE
expected_r4_mon_1_a_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_1_a_c_d_e<-sum(expected_r4_mon_1_a_c_d_e$`one month`)/4
#ACE
expected_r4_mon_1_a_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r4_mon_1_a_c_e<-sum(expected_r4_mon_1_a_c_e$`one month`)/3
#AD
expected_r4_mon_1_a_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D')
expected_r4_mon_1_a_d<-sum(expected_r4_mon_1_a_d$`one month`)/2
#ADE
expected_r4_mon_1_a_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r4_mon_1_a_d_e<-sum(expected_r4_mon_1_a_d_e$`one month`)/3
#AE
expected_r4_mon_1_a_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'E')
expected_r4_mon_1_a_e<-sum(expected_r4_mon_1_a_e$`one month`)/2
#B
expected_r4_mon_1_b <- ml_wide_r4 %>%
filter(code == 'B')
expected_r4_mon_1_b<-sum(expected_r4_mon_1_b$`one month`)/1
#BC
expected_r4_mon_1_b_c <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C')
expected_r4_mon_1_b_c<-sum(expected_r4_mon_1_b_c$`one month`)/2
#BCD
expected_r4_mon_1_b_c_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_1_b_c_d<-sum(expected_r4_mon_1_b_c_d$`one month`)/3
#BCDE
expected_r4_mon_1_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_1_b_c_d_e<-sum(expected_r4_mon_1_b_c_d_e$`one month`)/4
#BCE
expected_r4_mon_1_b_c_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_1_b_c_e<-sum(expected_r4_mon_1_b_c_e$`one month`)/3
#BD
expected_r4_mon_1_b_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D')
expected_r4_mon_1_b_d<-sum(expected_r4_mon_1_b_d$`one month`)/2
#BDE
expected_r4_mon_1_b_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_1_b_d_e<-sum(expected_r4_mon_1_b_d_e$`one month`)/3
#BE
expected_r4_mon_1_b_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'E')
expected_r4_mon_1_b_e<-sum(expected_r4_mon_1_b_e$`one month`)/2
#C
expected_r4_mon_1_c <- ml_wide_r4 %>%
filter(code == 'C')
expected_r4_mon_1_c<-sum(expected_r4_mon_1_c$`one month`)/1
#CD
expected_r4_mon_1_c_d <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D')
expected_r4_mon_1_c_d<-sum(expected_r4_mon_1_c_d$`one month`)/2
#CDE
expected_r4_mon_1_c_d_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_1_c_d_e<-sum(expected_r4_mon_1_c_d_e$`one month`)/3
#CE
expected_r4_mon_1_c_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'E')
expected_r4_mon_1_c_e<-sum(expected_r4_mon_1_c_e$`one month`)/2
#D
expected_r4_mon_1_d <- ml_wide_r4 %>%
filter(code == 'D')
expected_r4_mon_1_d<-sum(expected_r4_mon_1_d$`one month`)/1
#DE
expected_r4_mon_1_d_e <- ml_wide_r4 %>%
filter(code == 'D'| code == 'E')
expected_r4_mon_1_d_e<-sum(expected_r4_mon_1_d_e$`one month`)/2
#E
expected_r4_mon_1_e <- ml_wide_r4 %>%
filter(code == 'E')
expected_r4_mon_1_e<-sum(expected_r4_mon_1_e$`one month`)/1
expected_r4_ml_1<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r4_ml_1=c(expected_r4_mon_1_a,expected_r4_mon_1_a_b,expected_r4_mon_1_a_b_c,expected_r4_mon_1_a_b_c_d,expected_r4_mon_1_a_b_c_d_e, expected_r4_mon_1_a_b_c_e,expected_r4_mon_1_a_b_d,expected_r4_mon_1_a_b_d_e,expected_r4_mon_1_a_b_e,expected_r4_mon_1_a_c, expected_r4_mon_1_a_c_d,expected_r4_mon_1_a_b_c_d_e,
expected_r4_mon_1_a_c_e,expected_r4_mon_1_a_d,expected_r4_mon_1_a_d_e,expected_r4_mon_1_a_e,expected_r4_mon_1_b,expected_r4_mon_1_b_c,expected_r4_mon_1_b_c_d,expected_r4_mon_1_b_c_d_e,expected_r4_mon_1_b_c_e,expected_r4_mon_1_b_d,expected_r4_mon_1_b_d_e, expected_r4_mon_1_b_e,expected_r4_mon_1_c,expected_r4_mon_1_c_d,expected_r4_mon_1_c_d_e,expected_r4_mon_1_c_e,
expected_r4_mon_1_d,expected_r4_mon_1_d_e,expected_r4_mon_1_e))#A
expected_r5_mon_1_a <- ml_wide_r5 %>%
filter(code == 'A')
expected_r5_mon_1_a<-sum(expected_r5_mon_1_a$`one month`)/1
#AB
expected_r5_mon_1_a_b <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B')
expected_r5_mon_1_a_b<-sum(expected_r5_mon_1_a_b$`one month`)/2
#ABC
expected_r5_mon_1_a_b_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r5_mon_1_a_b_c<-sum(expected_r5_mon_1_a_b_c$`one month`)/3
#ABCD
expected_r5_mon_1_a_b_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_1_a_b_c_d<-sum(expected_r5_mon_1_a_b_c_d$`one month`)/4
#ABCDE
expected_r5_mon_1_a_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_1_a_b_c_d_e<-sum(expected_r5_mon_1_a_b_c_d_e$`one month`)/5
#ABCE
expected_r5_mon_1_a_b_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_1_a_b_c_e<-sum(expected_r5_mon_1_a_b_c_e$`one month`)/4
#ABD
expected_r5_mon_1_a_b_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r5_mon_1_a_b_d<-sum(expected_r5_mon_1_a_b_d$`one month`)/3
#ABDE
expected_r5_mon_1_a_b_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_1_a_b_d_e<-sum(expected_r5_mon_1_a_b_d_e$`one month`)/4
#ABE
expected_r5_mon_1_a_b_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r5_mon_1_a_b_e<-sum(expected_r5_mon_1_a_b_e$`one month`)/3
#AC
expected_r5_mon_1_a_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C')
expected_r5_mon_1_a_c<-sum(expected_r5_mon_1_a_c$`one month`)/2
#ACD
expected_r5_mon_1_a_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r5_mon_1_a_c_d<-sum(expected_r5_mon_1_a_c_d$`one month`)/3
#ACDE
expected_r5_mon_1_a_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_1_a_c_d_e<-sum(expected_r5_mon_1_a_c_d_e$`one month`)/4
#ACE
expected_r5_mon_1_a_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r5_mon_1_a_c_e<-sum(expected_r5_mon_1_a_c_e$`one month`)/3
#AD
expected_r5_mon_1_a_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D')
expected_r5_mon_1_a_d<-sum(expected_r5_mon_1_a_d$`one month`)/2
#ADE
expected_r5_mon_1_a_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r5_mon_1_a_d_e<-sum(expected_r5_mon_1_a_d_e$`one month`)/3
#AE
expected_r5_mon_1_a_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'E')
expected_r5_mon_1_a_e<-sum(expected_r5_mon_1_a_e$`one month`)/2
#B
expected_r5_mon_1_b <- ml_wide_r5 %>%
filter(code == 'B')
expected_r5_mon_1_b<-sum(expected_r5_mon_1_b$`one month`)/1
#BC
expected_r5_mon_1_b_c <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C')
expected_r5_mon_1_b_c<-sum(expected_r5_mon_1_b_c$`one month`)/2
#BCD
expected_r5_mon_1_b_c_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_1_b_c_d<-sum(expected_r5_mon_1_b_c_d$`one month`)/3
#BCDE
expected_r5_mon_1_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_1_b_c_d_e<-sum(expected_r5_mon_1_b_c_d_e$`one month`)/4
#BCE
expected_r5_mon_1_b_c_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_1_b_c_e<-sum(expected_r5_mon_1_b_c_e$`one month`)/3
#BD
expected_r5_mon_1_b_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D')
expected_r5_mon_1_b_d<-sum(expected_r5_mon_1_b_d$`one month`)/2
#BDE
expected_r5_mon_1_b_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_1_b_d_e<-sum(expected_r5_mon_1_b_d_e$`one month`)/3
#BE
expected_r5_mon_1_b_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'E')
expected_r5_mon_1_b_e<-sum(expected_r5_mon_1_b_e$`one month`)/2
#C
expected_r5_mon_1_c <- ml_wide_r5 %>%
filter(code == 'C')
expected_r5_mon_1_c<-sum(expected_r5_mon_1_c$`one month`)/1
#CD
expected_r5_mon_1_c_d <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D')
expected_r5_mon_1_c_d<-sum(expected_r5_mon_1_c_d$`one month`)/2
#CDE
expected_r5_mon_1_c_d_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_1_c_d_e<-sum(expected_r5_mon_1_c_d_e$`one month`)/3
#CE
expected_r5_mon_1_c_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'E')
expected_r5_mon_1_c_e<-sum(expected_r5_mon_1_c_e$`one month`)/2
#D
expected_r5_mon_1_d <- ml_wide_r5 %>%
filter(code == 'D')
expected_r5_mon_1_d<-sum(expected_r5_mon_1_d$`one month`)/1
#DE
expected_r5_mon_1_d_e <- ml_wide_r5 %>%
filter(code == 'D'| code == 'E')
expected_r5_mon_1_d_e<-sum(expected_r5_mon_1_d_e$`one month`)/2
#E
expected_r5_mon_1_e <- ml_wide_r5 %>%
filter(code == 'E')
expected_r5_mon_1_e<-sum(expected_r5_mon_1_e$`one month`)/1
expected_r5_ml_1<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r5_ml_1=c(expected_r5_mon_1_a,expected_r5_mon_1_a_b,expected_r5_mon_1_a_b_c,expected_r5_mon_1_a_b_c_d,expected_r5_mon_1_a_b_c_d_e, expected_r5_mon_1_a_b_c_e,expected_r5_mon_1_a_b_d,expected_r5_mon_1_a_b_d_e,expected_r5_mon_1_a_b_e,expected_r5_mon_1_a_c, expected_r5_mon_1_a_c_d,expected_r5_mon_1_a_b_c_d_e,
expected_r5_mon_1_a_c_e,expected_r5_mon_1_a_d,expected_r5_mon_1_a_d_e,expected_r5_mon_1_a_e,expected_r5_mon_1_b,expected_r5_mon_1_b_c,expected_r5_mon_1_b_c_d,expected_r5_mon_1_b_c_d_e,expected_r5_mon_1_b_c_e,expected_r5_mon_1_b_d,expected_r5_mon_1_b_d_e, expected_r5_mon_1_b_e,expected_r5_mon_1_c,expected_r5_mon_1_c_d,expected_r5_mon_1_c_d_e,expected_r5_mon_1_c_e,
expected_r5_mon_1_d,expected_r5_mon_1_d_e,expected_r5_mon_1_e))#A
expected_r1_mon_3_a <- ml_wide_r1 %>%
filter(code == 'A')
expected_r1_mon_3_a<-sum(expected_r1_mon_3_a$`three months`)/1
#AB
expected_r1_mon_3_a_b <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B')
expected_r1_mon_3_a_b<-sum(expected_r1_mon_3_a_b$`three months`)/2
#ABC
expected_r1_mon_3_a_b_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r1_mon_3_a_b_c<-sum(expected_r1_mon_3_a_b_c$`three months`)/3
#ABCD
expected_r1_mon_3_a_b_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_3_a_b_c_d<-sum(expected_r1_mon_3_a_b_c_d$`three months`)/4
#ABCDE
expected_r1_mon_3_a_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_3_a_b_c_d_e<-sum(expected_r1_mon_3_a_b_c_d_e$`three months`)/5
#ABCE
expected_r1_mon_3_a_b_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_3_a_b_c_e<-sum(expected_r1_mon_3_a_b_c_e$`three months`)/4
#ABD
expected_r1_mon_3_a_b_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r1_mon_3_a_b_d<-sum(expected_r1_mon_3_a_b_d$`three months`)/3
#ABDE
expected_r1_mon_3_a_b_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_3_a_b_d_e<-sum(expected_r1_mon_3_a_b_d_e$`three months`)/4
#ABE
expected_r1_mon_3_a_b_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r1_mon_3_a_b_e<-sum(expected_r1_mon_3_a_b_e$`three months`)/3
#AC
expected_r1_mon_3_a_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C')
expected_r1_mon_3_a_c<-sum(expected_r1_mon_3_a_c$`three months`)/2
#ACD
expected_r1_mon_3_a_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r1_mon_3_a_c_d<-sum(expected_r1_mon_3_a_c_d$`three months`)/3
#ACDE
expected_r1_mon_3_a_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_3_a_c_d_e<-sum(expected_r1_mon_3_a_c_d_e$`three months`)/4
#ACE
expected_r1_mon_3_a_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r1_mon_3_a_c_e<-sum(expected_r1_mon_3_a_c_e$`three months`)/3
#AD
expected_r1_mon_3_a_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D')
expected_r1_mon_3_a_d<-sum(expected_r1_mon_3_a_d$`three months`)/2
#ADE
expected_r1_mon_3_a_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r1_mon_3_a_d_e<-sum(expected_r1_mon_3_a_d_e$`three months`)/3
#AE
expected_r1_mon_3_a_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'E')
expected_r1_mon_3_a_e<-sum(expected_r1_mon_3_a_e$`three months`)/2
#B
expected_r1_mon_3_b <- ml_wide_r1 %>%
filter(code == 'B')
expected_r1_mon_3_b<-sum(expected_r1_mon_3_b$`three months`)/1
#BC
expected_r1_mon_3_b_c <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C')
expected_r1_mon_3_b_c<-sum(expected_r1_mon_3_b_c$`three months`)/2
#BCD
expected_r1_mon_3_b_c_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_3_b_c_d<-sum(expected_r1_mon_3_b_c_d$`three months`)/3
#BCDE
expected_r1_mon_3_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_3_b_c_d_e<-sum(expected_r1_mon_3_b_c_d_e$`three months`)/4
#BCE
expected_r1_mon_3_b_c_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_3_b_c_e<-sum(expected_r1_mon_3_b_c_e$`three months`)/3
#BD
expected_r1_mon_3_b_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D')
expected_r1_mon_3_b_d<-sum(expected_r1_mon_3_b_d$`three months`)/2
#BDE
expected_r1_mon_3_b_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_3_b_d_e<-sum(expected_r1_mon_3_b_d_e$`three months`)/3
#BE
expected_r1_mon_3_b_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'E')
expected_r1_mon_3_b_e<-sum(expected_r1_mon_3_b_e$`three months`)/2
#C
expected_r1_mon_3_c <- ml_wide_r1 %>%
filter(code == 'C')
expected_r1_mon_3_c<-sum(expected_r1_mon_3_c$`three months`)/1
#CD
expected_r1_mon_3_c_d <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D')
expected_r1_mon_3_c_d<-sum(expected_r1_mon_3_c_d$`three months`)/2
#CDE
expected_r1_mon_3_c_d_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_3_c_d_e<-sum(expected_r1_mon_3_c_d_e$`three months`)/3
#CE
expected_r1_mon_3_c_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'E')
expected_r1_mon_3_c_e<-sum(expected_r1_mon_3_c_e$`three months`)/2
#D
expected_r1_mon_3_d <- ml_wide_r1 %>%
filter(code == 'D')
expected_r1_mon_3_d<-sum(expected_r1_mon_3_d$`three months`)/1
#DE
expected_r1_mon_3_d_e <- ml_wide_r1 %>%
filter(code == 'D'| code == 'E')
expected_r1_mon_3_d_e<-sum(expected_r1_mon_3_d_e$`three months`)/2
#E
expected_r1_mon_3_e <- ml_wide_r1 %>%
filter(code == 'E')
expected_r1_mon_3_e<-sum(expected_r1_mon_3_e$`three months`)/1
expected_r1_ml_3<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"), expected_r1_ml_3=c(expected_r1_mon_3_a,expected_r1_mon_3_a_b,expected_r1_mon_3_a_b_c,expected_r1_mon_3_a_b_c_d,expected_r1_mon_3_a_b_c_d_e, expected_r1_mon_3_a_b_c_e,expected_r1_mon_3_a_b_d,expected_r1_mon_3_a_b_d_e,expected_r1_mon_3_a_b_e,expected_r1_mon_3_a_c, expected_r1_mon_3_a_c_d,expected_r1_mon_3_a_b_c_d_e,expected_r1_mon_3_a_c_e,expected_r1_mon_3_a_d,expected_r1_mon_3_a_d_e,expected_r1_mon_3_a_e,expected_r1_mon_3_b,expected_r1_mon_3_b_c,expected_r1_mon_3_b_c_d,expected_r1_mon_3_b_c_d_e,expected_r1_mon_3_b_c_e,expected_r1_mon_3_b_d,expected_r1_mon_3_b_d_e, expected_r1_mon_3_b_e,expected_r1_mon_3_c,expected_r1_mon_3_c_d,expected_r1_mon_3_c_d_e,expected_r1_mon_3_c_e,expected_r1_mon_3_d,expected_r1_mon_3_d_e,expected_r1_mon_3_e))#A
expected_r2_mon_3_a <- ml_wide_r2 %>%
filter(code == 'A')
expected_r2_mon_3_a<-sum(expected_r2_mon_3_a$`three months`)/1
#AB
expected_r2_mon_3_a_b <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B')
expected_r2_mon_3_a_b<-sum(expected_r2_mon_3_a_b$`three months`)/2
#ABC
expected_r2_mon_3_a_b_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r2_mon_3_a_b_c<-sum(expected_r2_mon_3_a_b_c$`three months`)/3
#ABCD
expected_r2_mon_3_a_b_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_3_a_b_c_d<-sum(expected_r2_mon_3_a_b_c_d$`three months`)/4
#ABCDE
expected_r2_mon_3_a_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_3_a_b_c_d_e<-sum(expected_r2_mon_3_a_b_c_d_e$`three months`)/5
#ABCE
expected_r2_mon_3_a_b_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_3_a_b_c_e<-sum(expected_r2_mon_3_a_b_c_e$`three months`)/4
#ABD
expected_r2_mon_3_a_b_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r2_mon_3_a_b_d<-sum(expected_r2_mon_3_a_b_d$`three months`)/3
#ABDE
expected_r2_mon_3_a_b_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_3_a_b_d_e<-sum(expected_r2_mon_3_a_b_d_e$`three months`)/4
#ABE
expected_r2_mon_3_a_b_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r2_mon_3_a_b_e<-sum(expected_r2_mon_3_a_b_e$`three months`)/3
#AC
expected_r2_mon_3_a_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C')
expected_r2_mon_3_a_c<-sum(expected_r2_mon_3_a_c$`three months`)/2
#ACD
expected_r2_mon_3_a_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r2_mon_3_a_c_d<-sum(expected_r2_mon_3_a_c_d$`three months`)/3
#ACDE
expected_r2_mon_3_a_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_3_a_c_d_e<-sum(expected_r2_mon_3_a_c_d_e$`three months`)/4
#ACE
expected_r2_mon_3_a_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r2_mon_3_a_c_e<-sum(expected_r2_mon_3_a_c_e$`three months`)/3
#AD
expected_r2_mon_3_a_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D')
expected_r2_mon_3_a_d<-sum(expected_r2_mon_3_a_d$`three months`)/2
#ADE
expected_r2_mon_3_a_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r2_mon_3_a_d_e<-sum(expected_r2_mon_3_a_d_e$`three months`)/3
#AE
expected_r2_mon_3_a_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'E')
expected_r2_mon_3_a_e<-sum(expected_r2_mon_3_a_e$`three months`)/2
#B
expected_r2_mon_3_b <- ml_wide_r2 %>%
filter(code == 'B')
expected_r2_mon_3_b<-sum(expected_r2_mon_3_b$`three months`)/1
#BC
expected_r2_mon_3_b_c <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C')
expected_r2_mon_3_b_c<-sum(expected_r2_mon_3_b_c$`three months`)/2
#BCD
expected_r2_mon_3_b_c_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_3_b_c_d<-sum(expected_r2_mon_3_b_c_d$`three months`)/3
#BCDE
expected_r2_mon_3_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_3_b_c_d_e<-sum(expected_r2_mon_3_b_c_d_e$`three months`)/4
#BCE
expected_r2_mon_3_b_c_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_3_b_c_e<-sum(expected_r2_mon_3_b_c_e$`three months`)/3
#BD
expected_r2_mon_3_b_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D')
expected_r2_mon_3_b_d<-sum(expected_r2_mon_3_b_d$`three months`)/2
#BDE
expected_r2_mon_3_b_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_3_b_d_e<-sum(expected_r2_mon_3_b_d_e$`three months`)/3
#BE
expected_r2_mon_3_b_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'E')
expected_r2_mon_3_b_e<-sum(expected_r2_mon_3_b_e$`three months`)/2
#C
expected_r2_mon_3_c <- ml_wide_r2 %>%
filter(code == 'C')
expected_r2_mon_3_c<-sum(expected_r2_mon_3_c$`three months`)/1
#CD
expected_r2_mon_3_c_d <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D')
expected_r2_mon_3_c_d<-sum(expected_r2_mon_3_c_d$`three months`)/2
#CDE
expected_r2_mon_3_c_d_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_3_c_d_e<-sum(expected_r2_mon_3_c_d_e$`three months`)/3
#CE
expected_r2_mon_3_c_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'E')
expected_r2_mon_3_c_e<-sum(expected_r2_mon_3_c_e$`three months`)/2
#D
expected_r2_mon_3_d <- ml_wide_r2 %>%
filter(code == 'D')
expected_r2_mon_3_d<-sum(expected_r2_mon_3_d$`three months`)/1
#DE
expected_r2_mon_3_d_e <- ml_wide_r2 %>%
filter(code == 'D'| code == 'E')
expected_r2_mon_3_d_e<-sum(expected_r2_mon_3_d_e$`three months`)/2
#E
expected_r2_mon_3_e <- ml_wide_r2 %>%
filter(code == 'E')
expected_r2_mon_3_e<-sum(expected_r2_mon_3_e$`three months`)/1
expected_r2_ml_3<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r2_ml_3=c(expected_r2_mon_3_a,expected_r2_mon_3_a_b,expected_r2_mon_3_a_b_c,expected_r2_mon_3_a_b_c_d,expected_r2_mon_3_a_b_c_d_e, expected_r2_mon_3_a_b_c_e,expected_r2_mon_3_a_b_d,expected_r2_mon_3_a_b_d_e,expected_r2_mon_3_a_b_e,expected_r2_mon_3_a_c, expected_r2_mon_3_a_c_d,expected_r2_mon_3_a_b_c_d_e,
expected_r2_mon_3_a_c_e,expected_r2_mon_3_a_d,expected_r2_mon_3_a_d_e,expected_r2_mon_3_a_e,expected_r2_mon_3_b,expected_r2_mon_3_b_c,expected_r2_mon_3_b_c_d,expected_r2_mon_3_b_c_d_e,expected_r2_mon_3_b_c_e,expected_r2_mon_3_b_d,expected_r2_mon_3_b_d_e, expected_r2_mon_3_b_e,expected_r2_mon_3_c,expected_r2_mon_3_c_d,expected_r2_mon_3_c_d_e,expected_r2_mon_3_c_e,
expected_r2_mon_3_d,expected_r2_mon_3_d_e,expected_r2_mon_3_e))#A
expected_r3_mon_3_a <- ml_wide_r3 %>%
filter(code == 'A')
expected_r3_mon_3_a<-sum(expected_r3_mon_3_a$`three months`)/1
#AB
expected_r3_mon_3_a_b <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B')
expected_r3_mon_3_a_b<-sum(expected_r3_mon_3_a_b$`three months`)/2
#ABC
expected_r3_mon_3_a_b_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r3_mon_3_a_b_c<-sum(expected_r3_mon_3_a_b_c$`three months`)/3
#ABCD
expected_r3_mon_3_a_b_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_3_a_b_c_d<-sum(expected_r3_mon_3_a_b_c_d$`three months`)/4
#ABCDE
expected_r3_mon_3_a_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_3_a_b_c_d_e<-sum(expected_r3_mon_3_a_b_c_d_e$`three months`)/5
#ABCE
expected_r3_mon_3_a_b_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_3_a_b_c_e<-sum(expected_r3_mon_3_a_b_c_e$`three months`)/4
#ABD
expected_r3_mon_3_a_b_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r3_mon_3_a_b_d<-sum(expected_r3_mon_3_a_b_d$`three months`)/3
#ABDE
expected_r3_mon_3_a_b_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_3_a_b_d_e<-sum(expected_r3_mon_3_a_b_d_e$`three months`)/4
#ABE
expected_r3_mon_3_a_b_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r3_mon_3_a_b_e<-sum(expected_r3_mon_3_a_b_e$`three months`)/3
#AC
expected_r3_mon_3_a_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C')
expected_r3_mon_3_a_c<-sum(expected_r3_mon_3_a_c$`three months`)/2
#ACD
expected_r3_mon_3_a_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r3_mon_3_a_c_d<-sum(expected_r3_mon_3_a_c_d$`three months`)/3
#ACDE
expected_r3_mon_3_a_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_3_a_c_d_e<-sum(expected_r3_mon_3_a_c_d_e$`three months`)/4
#ACE
expected_r3_mon_3_a_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r3_mon_3_a_c_e<-sum(expected_r3_mon_3_a_c_e$`three months`)/3
#AD
expected_r3_mon_3_a_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D')
expected_r3_mon_3_a_d<-sum(expected_r3_mon_3_a_d$`three months`)/2
#ADE
expected_r3_mon_3_a_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r3_mon_3_a_d_e<-sum(expected_r3_mon_3_a_d_e$`three months`)/3
#AE
expected_r3_mon_3_a_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'E')
expected_r3_mon_3_a_e<-sum(expected_r3_mon_3_a_e$`three months`)/2
#B
expected_r3_mon_3_b <- ml_wide_r3 %>%
filter(code == 'B')
expected_r3_mon_3_b<-sum(expected_r3_mon_3_b$`three months`)/1
#BC
expected_r3_mon_3_b_c <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C')
expected_r3_mon_3_b_c<-sum(expected_r3_mon_3_b_c$`three months`)/2
#BCD
expected_r3_mon_3_b_c_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_3_b_c_d<-sum(expected_r3_mon_3_b_c_d$`three months`)/3
#BCDE
expected_r3_mon_3_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_3_b_c_d_e<-sum(expected_r3_mon_3_b_c_d_e$`three months`)/4
#BCE
expected_r3_mon_3_b_c_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_3_b_c_e<-sum(expected_r3_mon_3_b_c_e$`three months`)/3
#BD
expected_r3_mon_3_b_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D')
expected_r3_mon_3_b_d<-sum(expected_r3_mon_3_b_d$`three months`)/2
#BDE
expected_r3_mon_3_b_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_3_b_d_e<-sum(expected_r3_mon_3_b_d_e$`three months`)/3
#BE
expected_r3_mon_3_b_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'E')
expected_r3_mon_3_b_e<-sum(expected_r3_mon_3_b_e$`three months`)/2
#C
expected_r3_mon_3_c <- ml_wide_r3 %>%
filter(code == 'C')
expected_r3_mon_3_c<-sum(expected_r3_mon_3_c$`three months`)/1
#CD
expected_r3_mon_3_c_d <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D')
expected_r3_mon_3_c_d<-sum(expected_r3_mon_3_c_d$`three months`)/2
#CDE
expected_r3_mon_3_c_d_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_3_c_d_e<-sum(expected_r3_mon_3_c_d_e$`three months`)/3
#CE
expected_r3_mon_3_c_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'E')
expected_r3_mon_3_c_e<-sum(expected_r3_mon_3_c_e$`three months`)/2
#D
expected_r3_mon_3_d <- ml_wide_r3 %>%
filter(code == 'D')
expected_r3_mon_3_d<-sum(expected_r3_mon_3_d$`three months`)/1
#DE
expected_r3_mon_3_d_e <- ml_wide_r3 %>%
filter(code == 'D'| code == 'E')
expected_r3_mon_3_d_e<-sum(expected_r3_mon_3_d_e$`three months`)/2
#E
expected_r3_mon_3_e <- ml_wide_r3 %>%
filter(code == 'E')
expected_r3_mon_3_e<-sum(expected_r3_mon_3_e$`three months`)/1
expected_r3_ml_3<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r3_ml_3=c(expected_r3_mon_3_a,expected_r3_mon_3_a_b,expected_r3_mon_3_a_b_c,expected_r3_mon_3_a_b_c_d,expected_r3_mon_3_a_b_c_d_e, expected_r3_mon_3_a_b_c_e,expected_r3_mon_3_a_b_d,expected_r3_mon_3_a_b_d_e,expected_r3_mon_3_a_b_e,expected_r3_mon_3_a_c, expected_r3_mon_3_a_c_d,expected_r3_mon_3_a_b_c_d_e,
expected_r3_mon_3_a_c_e,expected_r3_mon_3_a_d,expected_r3_mon_3_a_d_e,expected_r3_mon_3_a_e,expected_r3_mon_3_b,expected_r3_mon_3_b_c,expected_r3_mon_3_b_c_d,expected_r3_mon_3_b_c_d_e,expected_r3_mon_3_b_c_e,expected_r3_mon_3_b_d,expected_r3_mon_3_b_d_e, expected_r3_mon_3_b_e,expected_r3_mon_3_c,expected_r3_mon_3_c_d,expected_r3_mon_3_c_d_e,expected_r3_mon_3_c_e,
expected_r3_mon_3_d,expected_r3_mon_3_d_e,expected_r3_mon_3_e))#A
expected_r4_mon_3_a <- ml_wide_r4 %>%
filter(code == 'A')
expected_r4_mon_3_a<-sum(expected_r4_mon_3_a$`three months`)/1
#AB
expected_r4_mon_3_a_b <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B')
expected_r4_mon_3_a_b<-sum(expected_r4_mon_3_a_b$`three months`)/2
#ABC
expected_r4_mon_3_a_b_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r4_mon_3_a_b_c<-sum(expected_r4_mon_3_a_b_c$`three months`)/3
#ABCD
expected_r4_mon_3_a_b_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_3_a_b_c_d<-sum(expected_r4_mon_3_a_b_c_d$`three months`)/4
#ABCDE
expected_r4_mon_3_a_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_3_a_b_c_d_e<-sum(expected_r4_mon_3_a_b_c_d_e$`three months`)/5
#ABCE
expected_r4_mon_3_a_b_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_3_a_b_c_e<-sum(expected_r4_mon_3_a_b_c_e$`three months`)/4
#ABD
expected_r4_mon_3_a_b_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r4_mon_3_a_b_d<-sum(expected_r4_mon_3_a_b_d$`three months`)/3
#ABDE
expected_r4_mon_3_a_b_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_3_a_b_d_e<-sum(expected_r4_mon_3_a_b_d_e$`three months`)/4
#ABE
expected_r4_mon_3_a_b_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r4_mon_3_a_b_e<-sum(expected_r4_mon_3_a_b_e$`three months`)/3
#AC
expected_r4_mon_3_a_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C')
expected_r4_mon_3_a_c<-sum(expected_r4_mon_3_a_c$`three months`)/2
#ACD
expected_r4_mon_3_a_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r4_mon_3_a_c_d<-sum(expected_r4_mon_3_a_c_d$`three months`)/3
#ACDE
expected_r4_mon_3_a_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_3_a_c_d_e<-sum(expected_r4_mon_3_a_c_d_e$`three months`)/4
#ACE
expected_r4_mon_3_a_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r4_mon_3_a_c_e<-sum(expected_r4_mon_3_a_c_e$`three months`)/3
#AD
expected_r4_mon_3_a_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D')
expected_r4_mon_3_a_d<-sum(expected_r4_mon_3_a_d$`three months`)/2
#ADE
expected_r4_mon_3_a_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r4_mon_3_a_d_e<-sum(expected_r4_mon_3_a_d_e$`three months`)/3
#AE
expected_r4_mon_3_a_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'E')
expected_r4_mon_3_a_e<-sum(expected_r4_mon_3_a_e$`three months`)/2
#B
expected_r4_mon_3_b <- ml_wide_r4 %>%
filter(code == 'B')
expected_r4_mon_3_b<-sum(expected_r4_mon_3_b$`three months`)/1
#BC
expected_r4_mon_3_b_c <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C')
expected_r4_mon_3_b_c<-sum(expected_r4_mon_3_b_c$`three months`)/2
#BCD
expected_r4_mon_3_b_c_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_3_b_c_d<-sum(expected_r4_mon_3_b_c_d$`three months`)/3
#BCDE
expected_r4_mon_3_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_3_b_c_d_e<-sum(expected_r4_mon_3_b_c_d_e$`three months`)/4
#BCE
expected_r4_mon_3_b_c_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_3_b_c_e<-sum(expected_r4_mon_3_b_c_e$`three months`)/3
#BD
expected_r4_mon_3_b_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D')
expected_r4_mon_3_b_d<-sum(expected_r4_mon_3_b_d$`three months`)/2
#BDE
expected_r4_mon_3_b_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_3_b_d_e<-sum(expected_r4_mon_3_b_d_e$`three months`)/3
#BE
expected_r4_mon_3_b_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'E')
expected_r4_mon_3_b_e<-sum(expected_r4_mon_3_b_e$`three months`)/2
#C
expected_r4_mon_3_c <- ml_wide_r4 %>%
filter(code == 'C')
expected_r4_mon_3_c<-sum(expected_r4_mon_3_c$`three months`)/1
#CD
expected_r4_mon_3_c_d <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D')
expected_r4_mon_3_c_d<-sum(expected_r4_mon_3_c_d$`three months`)/2
#CDE
expected_r4_mon_3_c_d_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_3_c_d_e<-sum(expected_r4_mon_3_c_d_e$`three months`)/3
#CE
expected_r4_mon_3_c_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'E')
expected_r4_mon_3_c_e<-sum(expected_r4_mon_3_c_e$`three months`)/2
#D
expected_r4_mon_3_d <- ml_wide_r4 %>%
filter(code == 'D')
expected_r4_mon_3_d<-sum(expected_r4_mon_3_d$`three months`)/1
#DE
expected_r4_mon_3_d_e <- ml_wide_r4 %>%
filter(code == 'D'| code == 'E')
expected_r4_mon_3_d_e<-sum(expected_r4_mon_3_d_e$`three months`)/2
#E
expected_r4_mon_3_e <- ml_wide_r4 %>%
filter(code == 'E')
expected_r4_mon_3_e<-sum(expected_r4_mon_3_e$`three months`)/1
expected_r4_ml_3<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r4_ml_3=c(expected_r4_mon_3_a,expected_r4_mon_3_a_b,expected_r4_mon_3_a_b_c,expected_r4_mon_3_a_b_c_d,expected_r4_mon_3_a_b_c_d_e, expected_r4_mon_3_a_b_c_e,expected_r4_mon_3_a_b_d,expected_r4_mon_3_a_b_d_e,expected_r4_mon_3_a_b_e,expected_r4_mon_3_a_c, expected_r4_mon_3_a_c_d,expected_r4_mon_3_a_b_c_d_e,
expected_r4_mon_3_a_c_e,expected_r4_mon_3_a_d,expected_r4_mon_3_a_d_e,expected_r4_mon_3_a_e,expected_r4_mon_3_b,expected_r4_mon_3_b_c,expected_r4_mon_3_b_c_d,expected_r4_mon_3_b_c_d_e,expected_r4_mon_3_b_c_e,expected_r4_mon_3_b_d,expected_r4_mon_3_b_d_e, expected_r4_mon_3_b_e,expected_r4_mon_3_c,expected_r4_mon_3_c_d,expected_r4_mon_3_c_d_e,expected_r4_mon_3_c_e,
expected_r4_mon_3_d,expected_r4_mon_3_d_e,expected_r4_mon_3_e))#A
expected_r5_mon_3_a <- ml_wide_r5 %>%
filter(code == 'A')
expected_r5_mon_3_a<-sum(expected_r5_mon_3_a$`three months`)/1
#AB
expected_r5_mon_3_a_b <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B')
expected_r5_mon_3_a_b<-sum(expected_r5_mon_3_a_b$`three months`)/2
#ABC
expected_r5_mon_3_a_b_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r5_mon_3_a_b_c<-sum(expected_r5_mon_3_a_b_c$`three months`)/3
#ABCD
expected_r5_mon_3_a_b_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_3_a_b_c_d<-sum(expected_r5_mon_3_a_b_c_d$`three months`)/4
#ABCDE
expected_r5_mon_3_a_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_3_a_b_c_d_e<-sum(expected_r5_mon_3_a_b_c_d_e$`three months`)/5
#ABCE
expected_r5_mon_3_a_b_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_3_a_b_c_e<-sum(expected_r5_mon_3_a_b_c_e$`three months`)/4
#ABD
expected_r5_mon_3_a_b_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r5_mon_3_a_b_d<-sum(expected_r5_mon_3_a_b_d$`three months`)/3
#ABDE
expected_r5_mon_3_a_b_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_3_a_b_d_e<-sum(expected_r5_mon_3_a_b_d_e$`three months`)/4
#ABE
expected_r5_mon_3_a_b_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r5_mon_3_a_b_e<-sum(expected_r5_mon_3_a_b_e$`three months`)/3
#AC
expected_r5_mon_3_a_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C')
expected_r5_mon_3_a_c<-sum(expected_r5_mon_3_a_c$`three months`)/2
#ACD
expected_r5_mon_3_a_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r5_mon_3_a_c_d<-sum(expected_r5_mon_3_a_c_d$`three months`)/3
#ACDE
expected_r5_mon_3_a_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_3_a_c_d_e<-sum(expected_r5_mon_3_a_c_d_e$`three months`)/4
#ACE
expected_r5_mon_3_a_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r5_mon_3_a_c_e<-sum(expected_r5_mon_3_a_c_e$`three months`)/3
#AD
expected_r5_mon_3_a_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D')
expected_r5_mon_3_a_d<-sum(expected_r5_mon_3_a_d$`three months`)/2
#ADE
expected_r5_mon_3_a_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r5_mon_3_a_d_e<-sum(expected_r5_mon_3_a_d_e$`three months`)/3
#AE
expected_r5_mon_3_a_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'E')
expected_r5_mon_3_a_e<-sum(expected_r5_mon_3_a_e$`three months`)/2
#B
expected_r5_mon_3_b <- ml_wide_r5 %>%
filter(code == 'B')
expected_r5_mon_3_b<-sum(expected_r5_mon_3_b$`three months`)/1
#BC
expected_r5_mon_3_b_c <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C')
expected_r5_mon_3_b_c<-sum(expected_r5_mon_3_b_c$`three months`)/2
#BCD
expected_r5_mon_3_b_c_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_3_b_c_d<-sum(expected_r5_mon_3_b_c_d$`three months`)/3
#BCDE
expected_r5_mon_3_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_3_b_c_d_e<-sum(expected_r5_mon_3_b_c_d_e$`three months`)/4
#BCE
expected_r5_mon_3_b_c_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_3_b_c_e<-sum(expected_r5_mon_3_b_c_e$`three months`)/3
#BD
expected_r5_mon_3_b_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D')
expected_r5_mon_3_b_d<-sum(expected_r5_mon_3_b_d$`three months`)/2
#BDE
expected_r5_mon_3_b_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_3_b_d_e<-sum(expected_r5_mon_3_b_d_e$`three months`)/3
#BE
expected_r5_mon_3_b_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'E')
expected_r5_mon_3_b_e<-sum(expected_r5_mon_3_b_e$`three months`)/2
#C
expected_r5_mon_3_c <- ml_wide_r5 %>%
filter(code == 'C')
expected_r5_mon_3_c<-sum(expected_r5_mon_3_c$`three months`)/1
#CD
expected_r5_mon_3_c_d <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D')
expected_r5_mon_3_c_d<-sum(expected_r5_mon_3_c_d$`three months`)/2
#CDE
expected_r5_mon_3_c_d_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_3_c_d_e<-sum(expected_r5_mon_3_c_d_e$`three months`)/3
#CE
expected_r5_mon_3_c_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'E')
expected_r5_mon_3_c_e<-sum(expected_r5_mon_3_c_e$`three months`)/2
#D
expected_r5_mon_3_d <- ml_wide_r5 %>%
filter(code == 'D')
expected_r5_mon_3_d<-sum(expected_r5_mon_3_d$`three months`)/1
#DE
expected_r5_mon_3_d_e <- ml_wide_r5 %>%
filter(code == 'D'| code == 'E')
expected_r5_mon_3_d_e<-sum(expected_r5_mon_3_d_e$`three months`)/2
#E
expected_r5_mon_3_e <- ml_wide_r5 %>%
filter(code == 'E')
expected_r5_mon_3_e<-sum(expected_r5_mon_3_e$`three months`)/1
expected_r5_ml_3<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r5_ml_3=c(expected_r5_mon_3_a,expected_r5_mon_3_a_b,expected_r5_mon_3_a_b_c,expected_r5_mon_3_a_b_c_d,expected_r5_mon_3_a_b_c_d_e, expected_r5_mon_3_a_b_c_e,expected_r5_mon_3_a_b_d,expected_r5_mon_3_a_b_d_e,expected_r5_mon_3_a_b_e,expected_r5_mon_3_a_c, expected_r5_mon_3_a_c_d,expected_r5_mon_3_a_b_c_d_e,
expected_r5_mon_3_a_c_e,expected_r5_mon_3_a_d,expected_r5_mon_3_a_d_e,expected_r5_mon_3_a_e,expected_r5_mon_3_b,expected_r5_mon_3_b_c,expected_r5_mon_3_b_c_d,expected_r5_mon_3_b_c_d_e,expected_r5_mon_3_b_c_e,expected_r5_mon_3_b_d,expected_r5_mon_3_b_d_e, expected_r5_mon_3_b_e,expected_r5_mon_3_c,expected_r5_mon_3_c_d,expected_r5_mon_3_c_d_e,expected_r5_mon_3_c_e,
expected_r5_mon_3_d,expected_r5_mon_3_d_e,expected_r5_mon_3_e))#A
expected_r1_mon_6_a <- ml_wide_r1 %>%
filter(code == 'A')
expected_r1_mon_6_a<-sum(expected_r1_mon_6_a$`six months`)/1
#AB
expected_r1_mon_6_a_b <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B')
expected_r1_mon_6_a_b<-sum(expected_r1_mon_6_a_b$`six months`)/2
#ABC
expected_r1_mon_6_a_b_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r1_mon_6_a_b_c<-sum(expected_r1_mon_6_a_b_c$`six months`)/3
#ABCD
expected_r1_mon_6_a_b_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_6_a_b_c_d<-sum(expected_r1_mon_6_a_b_c_d$`six months`)/4
#ABCDE
expected_r1_mon_6_a_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_6_a_b_c_d_e<-sum(expected_r1_mon_6_a_b_c_d_e$`six months`)/5
#ABCE
expected_r1_mon_6_a_b_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_6_a_b_c_e<-sum(expected_r1_mon_6_a_b_c_e$`six months`)/4
#ABD
expected_r1_mon_6_a_b_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r1_mon_6_a_b_d<-sum(expected_r1_mon_6_a_b_d$`six months`)/3
#ABDE
expected_r1_mon_6_a_b_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_6_a_b_d_e<-sum(expected_r1_mon_6_a_b_d_e$`six months`)/4
#ABE
expected_r1_mon_6_a_b_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r1_mon_6_a_b_e<-sum(expected_r1_mon_6_a_b_e$`six months`)/3
#AC
expected_r1_mon_6_a_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C')
expected_r1_mon_6_a_c<-sum(expected_r1_mon_6_a_c$`six months`)/2
#ACD
expected_r1_mon_6_a_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r1_mon_6_a_c_d<-sum(expected_r1_mon_6_a_c_d$`six months`)/3
#ACDE
expected_r1_mon_6_a_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_6_a_c_d_e<-sum(expected_r1_mon_6_a_c_d_e$`six months`)/4
#ACE
expected_r1_mon_6_a_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r1_mon_6_a_c_e<-sum(expected_r1_mon_6_a_c_e$`six months`)/3
#AD
expected_r1_mon_6_a_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D')
expected_r1_mon_6_a_d<-sum(expected_r1_mon_6_a_d$`six months`)/2
#ADE
expected_r1_mon_6_a_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r1_mon_6_a_d_e<-sum(expected_r1_mon_6_a_d_e$`six months`)/3
#AE
expected_r1_mon_6_a_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'E')
expected_r1_mon_6_a_e<-sum(expected_r1_mon_6_a_e$`six months`)/2
#B
expected_r1_mon_6_b <- ml_wide_r1 %>%
filter(code == 'B')
expected_r1_mon_6_b<-sum(expected_r1_mon_6_b$`six months`)/1
#BC
expected_r1_mon_6_b_c <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C')
expected_r1_mon_6_b_c<-sum(expected_r1_mon_6_b_c$`six months`)/2
#BCD
expected_r1_mon_6_b_c_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_6_b_c_d<-sum(expected_r1_mon_6_b_c_d$`six months`)/3
#BCDE
expected_r1_mon_6_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_6_b_c_d_e<-sum(expected_r1_mon_6_b_c_d_e$`six months`)/4
#BCE
expected_r1_mon_6_b_c_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_6_b_c_e<-sum(expected_r1_mon_6_b_c_e$`six months`)/3
#BD
expected_r1_mon_6_b_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D')
expected_r1_mon_6_b_d<-sum(expected_r1_mon_6_b_d$`six months`)/2
#BDE
expected_r1_mon_6_b_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_6_b_d_e<-sum(expected_r1_mon_6_b_d_e$`six months`)/3
#BE
expected_r1_mon_6_b_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'E')
expected_r1_mon_6_b_e<-sum(expected_r1_mon_6_b_e$`six months`)/2
#C
expected_r1_mon_6_c <- ml_wide_r1 %>%
filter(code == 'C')
expected_r1_mon_6_c<-sum(expected_r1_mon_6_c$`six months`)/1
#CD
expected_r1_mon_6_c_d <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D')
expected_r1_mon_6_c_d<-sum(expected_r1_mon_6_c_d$`six months`)/2
#CDE
expected_r1_mon_6_c_d_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_6_c_d_e<-sum(expected_r1_mon_6_c_d_e$`six months`)/3
#CE
expected_r1_mon_6_c_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'E')
expected_r1_mon_6_c_e<-sum(expected_r1_mon_6_c_e$`six months`)/2
#D
expected_r1_mon_6_d <- ml_wide_r1 %>%
filter(code == 'D')
expected_r1_mon_6_d<-sum(expected_r1_mon_6_d$`six months`)/1
#DE
expected_r1_mon_6_d_e <- ml_wide_r1 %>%
filter(code == 'D'| code == 'E')
expected_r1_mon_6_d_e<-sum(expected_r1_mon_6_d_e$`six months`)/2
#E
expected_r1_mon_6_e <- ml_wide_r1 %>%
filter(code == 'E')
expected_r1_mon_6_e<-sum(expected_r1_mon_6_e$`six months`)/1
expected_r1_ml_6<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r1_ml_6=c(expected_r1_mon_6_a,expected_r1_mon_6_a_b,expected_r1_mon_6_a_b_c,expected_r1_mon_6_a_b_c_d,expected_r1_mon_6_a_b_c_d_e, expected_r1_mon_6_a_b_c_e,expected_r1_mon_6_a_b_d,expected_r1_mon_6_a_b_d_e,expected_r1_mon_6_a_b_e,expected_r1_mon_6_a_c, expected_r1_mon_6_a_c_d,expected_r1_mon_6_a_b_c_d_e,
expected_r1_mon_6_a_c_e,expected_r1_mon_6_a_d,expected_r1_mon_6_a_d_e,expected_r1_mon_6_a_e,expected_r1_mon_6_b,expected_r1_mon_6_b_c,expected_r1_mon_6_b_c_d,expected_r1_mon_6_b_c_d_e,expected_r1_mon_6_b_c_e,expected_r1_mon_6_b_d,expected_r1_mon_6_b_d_e, expected_r1_mon_6_b_e,expected_r1_mon_6_c,expected_r1_mon_6_c_d,expected_r1_mon_6_c_d_e,expected_r1_mon_6_c_e,
expected_r1_mon_6_d,expected_r1_mon_6_d_e,expected_r1_mon_6_e))#A
expected_r2_mon_6_a <- ml_wide_r2 %>%
filter(code == 'A')
expected_r2_mon_6_a<-sum(expected_r2_mon_6_a$`six months`)/1
#AB
expected_r2_mon_6_a_b <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B')
expected_r2_mon_6_a_b<-sum(expected_r2_mon_6_a_b$`six months`)/2
#ABC
expected_r2_mon_6_a_b_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r2_mon_6_a_b_c<-sum(expected_r2_mon_6_a_b_c$`six months`)/3
#ABCD
expected_r2_mon_6_a_b_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_6_a_b_c_d<-sum(expected_r2_mon_6_a_b_c_d$`six months`)/4
#ABCDE
expected_r2_mon_6_a_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_6_a_b_c_d_e<-sum(expected_r2_mon_6_a_b_c_d_e$`six months`)/5
#ABCE
expected_r2_mon_6_a_b_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_6_a_b_c_e<-sum(expected_r2_mon_6_a_b_c_e$`six months`)/4
#ABD
expected_r2_mon_6_a_b_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r2_mon_6_a_b_d<-sum(expected_r2_mon_6_a_b_d$`six months`)/3
#ABDE
expected_r2_mon_6_a_b_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_6_a_b_d_e<-sum(expected_r2_mon_6_a_b_d_e$`six months`)/4
#ABE
expected_r2_mon_6_a_b_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r2_mon_6_a_b_e<-sum(expected_r2_mon_6_a_b_e$`six months`)/3
#AC
expected_r2_mon_6_a_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C')
expected_r2_mon_6_a_c<-sum(expected_r2_mon_6_a_c$`six months`)/2
#ACD
expected_r2_mon_6_a_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r2_mon_6_a_c_d<-sum(expected_r2_mon_6_a_c_d$`six months`)/3
#ACDE
expected_r2_mon_6_a_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_6_a_c_d_e<-sum(expected_r2_mon_6_a_c_d_e$`six months`)/4
#ACE
expected_r2_mon_6_a_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r2_mon_6_a_c_e<-sum(expected_r2_mon_6_a_c_e$`six months`)/3
#AD
expected_r2_mon_6_a_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D')
expected_r2_mon_6_a_d<-sum(expected_r2_mon_6_a_d$`six months`)/2
#ADE
expected_r2_mon_6_a_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r2_mon_6_a_d_e<-sum(expected_r2_mon_6_a_d_e$`six months`)/3
#AE
expected_r2_mon_6_a_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'E')
expected_r2_mon_6_a_e<-sum(expected_r2_mon_6_a_e$`six months`)/2
#B
expected_r2_mon_6_b <- ml_wide_r2 %>%
filter(code == 'B')
expected_r2_mon_6_b<-sum(expected_r2_mon_6_b$`six months`)/1
#BC
expected_r2_mon_6_b_c <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C')
expected_r2_mon_6_b_c<-sum(expected_r2_mon_6_b_c$`six months`)/2
#BCD
expected_r2_mon_6_b_c_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_6_b_c_d<-sum(expected_r2_mon_6_b_c_d$`six months`)/3
#BCDE
expected_r2_mon_6_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_6_b_c_d_e<-sum(expected_r2_mon_6_b_c_d_e$`six months`)/4
#BCE
expected_r2_mon_6_b_c_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_6_b_c_e<-sum(expected_r2_mon_6_b_c_e$`six months`)/3
#BD
expected_r2_mon_6_b_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D')
expected_r2_mon_6_b_d<-sum(expected_r2_mon_6_b_d$`six months`)/2
#BDE
expected_r2_mon_6_b_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_6_b_d_e<-sum(expected_r2_mon_6_b_d_e$`six months`)/3
#BE
expected_r2_mon_6_b_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'E')
expected_r2_mon_6_b_e<-sum(expected_r2_mon_6_b_e$`six months`)/2
#C
expected_r2_mon_6_c <- ml_wide_r2 %>%
filter(code == 'C')
expected_r2_mon_6_c<-sum(expected_r2_mon_6_c$`six months`)/1
#CD
expected_r2_mon_6_c_d <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D')
expected_r2_mon_6_c_d<-sum(expected_r2_mon_6_c_d$`six months`)/2
#CDE
expected_r2_mon_6_c_d_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_6_c_d_e<-sum(expected_r2_mon_6_c_d_e$`six months`)/3
#CE
expected_r2_mon_6_c_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'E')
expected_r2_mon_6_c_e<-sum(expected_r2_mon_6_c_e$`six months`)/2
#D
expected_r2_mon_6_d <- ml_wide_r2 %>%
filter(code == 'D')
expected_r2_mon_6_d<-sum(expected_r2_mon_6_d$`six months`)/1
#DE
expected_r2_mon_6_d_e <- ml_wide_r2 %>%
filter(code == 'D'| code == 'E')
expected_r2_mon_6_d_e<-sum(expected_r2_mon_6_d_e$`six months`)/2
#E
expected_r2_mon_6_e <- ml_wide_r2 %>%
filter(code == 'E')
expected_r2_mon_6_e<-sum(expected_r2_mon_6_e$`six months`)/1
expected_r2_ml_6<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r2_ml_6=c(expected_r2_mon_6_a,expected_r2_mon_6_a_b,expected_r2_mon_6_a_b_c,expected_r2_mon_6_a_b_c_d,expected_r2_mon_6_a_b_c_d_e, expected_r2_mon_6_a_b_c_e,expected_r2_mon_6_a_b_d,expected_r2_mon_6_a_b_d_e,expected_r2_mon_6_a_b_e,expected_r2_mon_6_a_c, expected_r2_mon_6_a_c_d,expected_r2_mon_6_a_b_c_d_e,
expected_r2_mon_6_a_c_e,expected_r2_mon_6_a_d,expected_r2_mon_6_a_d_e,expected_r2_mon_6_a_e,expected_r2_mon_6_b,expected_r2_mon_6_b_c,expected_r2_mon_6_b_c_d,expected_r2_mon_6_b_c_d_e,expected_r2_mon_6_b_c_e,expected_r2_mon_6_b_d,expected_r2_mon_6_b_d_e, expected_r2_mon_6_b_e,expected_r2_mon_6_c,expected_r2_mon_6_c_d,expected_r2_mon_6_c_d_e,expected_r2_mon_6_c_e,
expected_r2_mon_6_d,expected_r2_mon_6_d_e,expected_r2_mon_6_e))#A
expected_r3_mon_6_a <- ml_wide_r3 %>%
filter(code == 'A')
expected_r3_mon_6_a<-sum(expected_r3_mon_6_a$`six months`)/1
#AB
expected_r3_mon_6_a_b <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B')
expected_r3_mon_6_a_b<-sum(expected_r3_mon_6_a_b$`six months`)/2
#ABC
expected_r3_mon_6_a_b_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r3_mon_6_a_b_c<-sum(expected_r3_mon_6_a_b_c$`six months`)/3
#ABCD
expected_r3_mon_6_a_b_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_6_a_b_c_d<-sum(expected_r3_mon_6_a_b_c_d$`six months`)/4
#ABCDE
expected_r3_mon_6_a_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_6_a_b_c_d_e<-sum(expected_r3_mon_6_a_b_c_d_e$`six months`)/5
#ABCE
expected_r3_mon_6_a_b_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_6_a_b_c_e<-sum(expected_r3_mon_6_a_b_c_e$`six months`)/4
#ABD
expected_r3_mon_6_a_b_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r3_mon_6_a_b_d<-sum(expected_r3_mon_6_a_b_d$`six months`)/3
#ABDE
expected_r3_mon_6_a_b_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_6_a_b_d_e<-sum(expected_r3_mon_6_a_b_d_e$`six months`)/4
#ABE
expected_r3_mon_6_a_b_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r3_mon_6_a_b_e<-sum(expected_r3_mon_6_a_b_e$`six months`)/3
#AC
expected_r3_mon_6_a_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C')
expected_r3_mon_6_a_c<-sum(expected_r3_mon_6_a_c$`six months`)/2
#ACD
expected_r3_mon_6_a_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r3_mon_6_a_c_d<-sum(expected_r3_mon_6_a_c_d$`six months`)/3
#ACDE
expected_r3_mon_6_a_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_6_a_c_d_e<-sum(expected_r3_mon_6_a_c_d_e$`six months`)/4
#ACE
expected_r3_mon_6_a_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r3_mon_6_a_c_e<-sum(expected_r3_mon_6_a_c_e$`six months`)/3
#AD
expected_r3_mon_6_a_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D')
expected_r3_mon_6_a_d<-sum(expected_r3_mon_6_a_d$`six months`)/2
#ADE
expected_r3_mon_6_a_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r3_mon_6_a_d_e<-sum(expected_r3_mon_6_a_d_e$`six months`)/3
#AE
expected_r3_mon_6_a_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'E')
expected_r3_mon_6_a_e<-sum(expected_r3_mon_6_a_e$`six months`)/2
#B
expected_r3_mon_6_b <- ml_wide_r3 %>%
filter(code == 'B')
expected_r3_mon_6_b<-sum(expected_r3_mon_6_b$`six months`)/1
#BC
expected_r3_mon_6_b_c <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C')
expected_r3_mon_6_b_c<-sum(expected_r3_mon_6_b_c$`six months`)/2
#BCD
expected_r3_mon_6_b_c_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_6_b_c_d<-sum(expected_r3_mon_6_b_c_d$`six months`)/3
#BCDE
expected_r3_mon_6_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_6_b_c_d_e<-sum(expected_r3_mon_6_b_c_d_e$`six months`)/4
#BCE
expected_r3_mon_6_b_c_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_6_b_c_e<-sum(expected_r3_mon_6_b_c_e$`six months`)/3
#BD
expected_r3_mon_6_b_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D')
expected_r3_mon_6_b_d<-sum(expected_r3_mon_6_b_d$`six months`)/2
#BDE
expected_r3_mon_6_b_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_6_b_d_e<-sum(expected_r3_mon_6_b_d_e$`six months`)/3
#BE
expected_r3_mon_6_b_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'E')
expected_r3_mon_6_b_e<-sum(expected_r3_mon_6_b_e$`six months`)/2
#C
expected_r3_mon_6_c <- ml_wide_r3 %>%
filter(code == 'C')
expected_r3_mon_6_c<-sum(expected_r3_mon_6_c$`six months`)/1
#CD
expected_r3_mon_6_c_d <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D')
expected_r3_mon_6_c_d<-sum(expected_r3_mon_6_c_d$`six months`)/2
#CDE
expected_r3_mon_6_c_d_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_6_c_d_e<-sum(expected_r3_mon_6_c_d_e$`six months`)/3
#CE
expected_r3_mon_6_c_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'E')
expected_r3_mon_6_c_e<-sum(expected_r3_mon_6_c_e$`six months`)/2
#D
expected_r3_mon_6_d <- ml_wide_r3 %>%
filter(code == 'D')
expected_r3_mon_6_d<-sum(expected_r3_mon_6_d$`six months`)/1
#DE
expected_r3_mon_6_d_e <- ml_wide_r3 %>%
filter(code == 'D'| code == 'E')
expected_r3_mon_6_d_e<-sum(expected_r3_mon_6_d_e$`six months`)/2
#E
expected_r3_mon_6_e <- ml_wide_r3 %>%
filter(code == 'E')
expected_r3_mon_6_e<-sum(expected_r3_mon_6_e$`six months`)/1
expected_r3_ml_6<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r3_ml_6=c(expected_r3_mon_6_a,expected_r3_mon_6_a_b,expected_r3_mon_6_a_b_c,expected_r3_mon_6_a_b_c_d,expected_r3_mon_6_a_b_c_d_e, expected_r3_mon_6_a_b_c_e,expected_r3_mon_6_a_b_d,expected_r3_mon_6_a_b_d_e,expected_r3_mon_6_a_b_e,expected_r3_mon_6_a_c, expected_r3_mon_6_a_c_d,expected_r3_mon_6_a_b_c_d_e,
expected_r3_mon_6_a_c_e,expected_r3_mon_6_a_d,expected_r3_mon_6_a_d_e,expected_r3_mon_6_a_e,expected_r3_mon_6_b,expected_r3_mon_6_b_c,expected_r3_mon_6_b_c_d,expected_r3_mon_6_b_c_d_e,expected_r3_mon_6_b_c_e,expected_r3_mon_6_b_d,expected_r3_mon_6_b_d_e, expected_r3_mon_6_b_e,expected_r3_mon_6_c,expected_r3_mon_6_c_d,expected_r3_mon_6_c_d_e,expected_r3_mon_6_c_e,
expected_r3_mon_6_d,expected_r3_mon_6_d_e,expected_r3_mon_6_e))#A
expected_r4_mon_6_a <- ml_wide_r4 %>%
filter(code == 'A')
expected_r4_mon_6_a<-sum(expected_r4_mon_6_a$`six months`)/1
#AB
expected_r4_mon_6_a_b <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B')
expected_r4_mon_6_a_b<-sum(expected_r4_mon_6_a_b$`six months`)/2
#ABC
expected_r4_mon_6_a_b_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r4_mon_6_a_b_c<-sum(expected_r4_mon_6_a_b_c$`six months`)/3
#ABCD
expected_r4_mon_6_a_b_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_6_a_b_c_d<-sum(expected_r4_mon_6_a_b_c_d$`six months`)/4
#ABCDE
expected_r4_mon_6_a_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_6_a_b_c_d_e<-sum(expected_r4_mon_6_a_b_c_d_e$`six months`)/5
#ABCE
expected_r4_mon_6_a_b_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_6_a_b_c_e<-sum(expected_r4_mon_6_a_b_c_e$`six months`)/4
#ABD
expected_r4_mon_6_a_b_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r4_mon_6_a_b_d<-sum(expected_r4_mon_6_a_b_d$`six months`)/3
#ABDE
expected_r4_mon_6_a_b_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_6_a_b_d_e<-sum(expected_r4_mon_6_a_b_d_e$`six months`)/4
#ABE
expected_r4_mon_6_a_b_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r4_mon_6_a_b_e<-sum(expected_r4_mon_6_a_b_e$`six months`)/3
#AC
expected_r4_mon_6_a_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C')
expected_r4_mon_6_a_c<-sum(expected_r4_mon_6_a_c$`six months`)/2
#ACD
expected_r4_mon_6_a_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r4_mon_6_a_c_d<-sum(expected_r4_mon_6_a_c_d$`six months`)/3
#ACDE
expected_r4_mon_6_a_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_6_a_c_d_e<-sum(expected_r4_mon_6_a_c_d_e$`six months`)/4
#ACE
expected_r4_mon_6_a_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r4_mon_6_a_c_e<-sum(expected_r4_mon_6_a_c_e$`six months`)/3
#AD
expected_r4_mon_6_a_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D')
expected_r4_mon_6_a_d<-sum(expected_r4_mon_6_a_d$`six months`)/2
#ADE
expected_r4_mon_6_a_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r4_mon_6_a_d_e<-sum(expected_r4_mon_6_a_d_e$`six months`)/3
#AE
expected_r4_mon_6_a_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'E')
expected_r4_mon_6_a_e<-sum(expected_r4_mon_6_a_e$`six months`)/2
#B
expected_r4_mon_6_b <- ml_wide_r4 %>%
filter(code == 'B')
expected_r4_mon_6_b<-sum(expected_r4_mon_6_b$`six months`)/1
#BC
expected_r4_mon_6_b_c <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C')
expected_r4_mon_6_b_c<-sum(expected_r4_mon_6_b_c$`six months`)/2
#BCD
expected_r4_mon_6_b_c_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_6_b_c_d<-sum(expected_r4_mon_6_b_c_d$`six months`)/3
#BCDE
expected_r4_mon_6_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_6_b_c_d_e<-sum(expected_r4_mon_6_b_c_d_e$`six months`)/4
#BCE
expected_r4_mon_6_b_c_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_6_b_c_e<-sum(expected_r4_mon_6_b_c_e$`six months`)/3
#BD
expected_r4_mon_6_b_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D')
expected_r4_mon_6_b_d<-sum(expected_r4_mon_6_b_d$`six months`)/2
#BDE
expected_r4_mon_6_b_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_6_b_d_e<-sum(expected_r4_mon_6_b_d_e$`six months`)/3
#BE
expected_r4_mon_6_b_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'E')
expected_r4_mon_6_b_e<-sum(expected_r4_mon_6_b_e$`six months`)/2
#C
expected_r4_mon_6_c <- ml_wide_r4 %>%
filter(code == 'C')
expected_r4_mon_6_c<-sum(expected_r4_mon_6_c$`six months`)/1
#CD
expected_r4_mon_6_c_d <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D')
expected_r4_mon_6_c_d<-sum(expected_r4_mon_6_c_d$`six months`)/2
#CDE
expected_r4_mon_6_c_d_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_6_c_d_e<-sum(expected_r4_mon_6_c_d_e$`six months`)/3
#CE
expected_r4_mon_6_c_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'E')
expected_r4_mon_6_c_e<-sum(expected_r4_mon_6_c_e$`six months`)/2
#D
expected_r4_mon_6_d <- ml_wide_r4 %>%
filter(code == 'D')
expected_r4_mon_6_d<-sum(expected_r4_mon_6_d$`six months`)/1
#DE
expected_r4_mon_6_d_e <- ml_wide_r4 %>%
filter(code == 'D'| code == 'E')
expected_r4_mon_6_d_e<-sum(expected_r4_mon_6_d_e$`six months`)/2
#E
expected_r4_mon_6_e <- ml_wide_r4 %>%
filter(code == 'E')
expected_r4_mon_6_e<-sum(expected_r4_mon_6_e$`six months`)/1
expected_r4_ml_6<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r4_ml_6=c(expected_r4_mon_6_a,expected_r4_mon_6_a_b,expected_r4_mon_6_a_b_c,expected_r4_mon_6_a_b_c_d,expected_r4_mon_6_a_b_c_d_e, expected_r4_mon_6_a_b_c_e,expected_r4_mon_6_a_b_d,expected_r4_mon_6_a_b_d_e,expected_r4_mon_6_a_b_e,expected_r4_mon_6_a_c, expected_r4_mon_6_a_c_d,expected_r4_mon_6_a_b_c_d_e,
expected_r4_mon_6_a_c_e,expected_r4_mon_6_a_d,expected_r4_mon_6_a_d_e,expected_r4_mon_6_a_e,expected_r4_mon_6_b,expected_r4_mon_6_b_c,expected_r4_mon_6_b_c_d,expected_r4_mon_6_b_c_d_e,expected_r4_mon_6_b_c_e,expected_r4_mon_6_b_d,expected_r4_mon_6_b_d_e, expected_r4_mon_6_b_e,expected_r4_mon_6_c,expected_r4_mon_6_c_d,expected_r4_mon_6_c_d_e,expected_r4_mon_6_c_e,
expected_r4_mon_6_d,expected_r4_mon_6_d_e,expected_r4_mon_6_e))#A
expected_r5_mon_6_a <- ml_wide_r5 %>%
filter(code == 'A')
expected_r5_mon_6_a<-sum(expected_r5_mon_6_a$`six months`)/1
#AB
expected_r5_mon_6_a_b <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B')
expected_r5_mon_6_a_b<-sum(expected_r5_mon_6_a_b$`six months`)/2
#ABC
expected_r5_mon_6_a_b_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r5_mon_6_a_b_c<-sum(expected_r5_mon_6_a_b_c$`six months`)/3
#ABCD
expected_r5_mon_6_a_b_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_6_a_b_c_d<-sum(expected_r5_mon_6_a_b_c_d$`six months`)/4
#ABCDE
expected_r5_mon_6_a_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_6_a_b_c_d_e<-sum(expected_r5_mon_6_a_b_c_d_e$`six months`)/5
#ABCE
expected_r5_mon_6_a_b_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_6_a_b_c_e<-sum(expected_r5_mon_6_a_b_c_e$`six months`)/4
#ABD
expected_r5_mon_6_a_b_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r5_mon_6_a_b_d<-sum(expected_r5_mon_6_a_b_d$`six months`)/3
#ABDE
expected_r5_mon_6_a_b_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_6_a_b_d_e<-sum(expected_r5_mon_6_a_b_d_e$`six months`)/4
#ABE
expected_r5_mon_6_a_b_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r5_mon_6_a_b_e<-sum(expected_r5_mon_6_a_b_e$`six months`)/3
#AC
expected_r5_mon_6_a_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C')
expected_r5_mon_6_a_c<-sum(expected_r5_mon_6_a_c$`six months`)/2
#ACD
expected_r5_mon_6_a_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r5_mon_6_a_c_d<-sum(expected_r5_mon_6_a_c_d$`six months`)/3
#ACDE
expected_r5_mon_6_a_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_6_a_c_d_e<-sum(expected_r5_mon_6_a_c_d_e$`six months`)/4
#ACE
expected_r5_mon_6_a_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r5_mon_6_a_c_e<-sum(expected_r5_mon_6_a_c_e$`six months`)/3
#AD
expected_r5_mon_6_a_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D')
expected_r5_mon_6_a_d<-sum(expected_r5_mon_6_a_d$`six months`)/2
#ADE
expected_r5_mon_6_a_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r5_mon_6_a_d_e<-sum(expected_r5_mon_6_a_d_e$`six months`)/3
#AE
expected_r5_mon_6_a_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'E')
expected_r5_mon_6_a_e<-sum(expected_r5_mon_6_a_e$`six months`)/2
#B
expected_r5_mon_6_b <- ml_wide_r5 %>%
filter(code == 'B')
expected_r5_mon_6_b<-sum(expected_r5_mon_6_b$`six months`)/1
#BC
expected_r5_mon_6_b_c <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C')
expected_r5_mon_6_b_c<-sum(expected_r5_mon_6_b_c$`six months`)/2
#BCD
expected_r5_mon_6_b_c_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_6_b_c_d<-sum(expected_r5_mon_6_b_c_d$`six months`)/3
#BCDE
expected_r5_mon_6_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_6_b_c_d_e<-sum(expected_r5_mon_6_b_c_d_e$`six months`)/4
#BCE
expected_r5_mon_6_b_c_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_6_b_c_e<-sum(expected_r5_mon_6_b_c_e$`six months`)/3
#BD
expected_r5_mon_6_b_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D')
expected_r5_mon_6_b_d<-sum(expected_r5_mon_6_b_d$`six months`)/2
#BDE
expected_r5_mon_6_b_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_6_b_d_e<-sum(expected_r5_mon_6_b_d_e$`six months`)/3
#BE
expected_r5_mon_6_b_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'E')
expected_r5_mon_6_b_e<-sum(expected_r5_mon_6_b_e$`six months`)/2
#C
expected_r5_mon_6_c <- ml_wide_r5 %>%
filter(code == 'C')
expected_r5_mon_6_c<-sum(expected_r5_mon_6_c$`six months`)/1
#CD
expected_r5_mon_6_c_d <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D')
expected_r5_mon_6_c_d<-sum(expected_r5_mon_6_c_d$`six months`)/2
#CDE
expected_r5_mon_6_c_d_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_6_c_d_e<-sum(expected_r5_mon_6_c_d_e$`six months`)/3
#CE
expected_r5_mon_6_c_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'E')
expected_r5_mon_6_c_e<-sum(expected_r5_mon_6_c_e$`six months`)/2
#D
expected_r5_mon_6_d <- ml_wide_r5 %>%
filter(code == 'D')
expected_r5_mon_6_d<-sum(expected_r5_mon_6_d$`six months`)/1
#DE
expected_r5_mon_6_d_e <- ml_wide_r5 %>%
filter(code == 'D'| code == 'E')
expected_r5_mon_6_d_e<-sum(expected_r5_mon_6_d_e$`six months`)/2
#E
expected_r5_mon_6_e <- ml_wide_r5 %>%
filter(code == 'E')
expected_r5_mon_6_e<-sum(expected_r5_mon_6_e$`six months`)/1
expected_r5_ml_6<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r5_ml_6=c(expected_r5_mon_6_a,expected_r5_mon_6_a_b,expected_r5_mon_6_a_b_c,expected_r5_mon_6_a_b_c_d,expected_r5_mon_6_a_b_c_d_e, expected_r5_mon_6_a_b_c_e,expected_r5_mon_6_a_b_d,expected_r5_mon_6_a_b_d_e,expected_r5_mon_6_a_b_e,expected_r5_mon_6_a_c, expected_r5_mon_6_a_c_d,expected_r5_mon_6_a_b_c_d_e,
expected_r5_mon_6_a_c_e,expected_r5_mon_6_a_d,expected_r5_mon_6_a_d_e,expected_r5_mon_6_a_e,expected_r5_mon_6_b,expected_r5_mon_6_b_c,expected_r5_mon_6_b_c_d,expected_r5_mon_6_b_c_d_e,expected_r5_mon_6_b_c_e,expected_r5_mon_6_b_d,expected_r5_mon_6_b_d_e, expected_r5_mon_6_b_e,expected_r5_mon_6_c,expected_r5_mon_6_c_d,expected_r5_mon_6_c_d_e,expected_r5_mon_6_c_e,
expected_r5_mon_6_d,expected_r5_mon_6_d_e,expected_r5_mon_6_e))#A
expected_r1_mon_9_a <- ml_wide_r1 %>%
filter(code == 'A')
expected_r1_mon_9_a<-sum(expected_r1_mon_9_a$`nine months`)/1
#AB
expected_r1_mon_9_a_b <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B')
expected_r1_mon_9_a_b<-sum(expected_r1_mon_9_a_b$`nine months`)/2
#ABC
expected_r1_mon_9_a_b_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r1_mon_9_a_b_c<-sum(expected_r1_mon_9_a_b_c$`nine months`)/3
#ABCD
expected_r1_mon_9_a_b_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_9_a_b_c_d<-sum(expected_r1_mon_9_a_b_c_d$`nine months`)/4
#ABCDE
expected_r1_mon_9_a_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_9_a_b_c_d_e<-sum(expected_r1_mon_9_a_b_c_d_e$`nine months`)/5
#ABCE
expected_r1_mon_9_a_b_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_9_a_b_c_e<-sum(expected_r1_mon_9_a_b_c_e$`nine months`)/4
#ABD
expected_r1_mon_9_a_b_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r1_mon_9_a_b_d<-sum(expected_r1_mon_9_a_b_d$`nine months`)/3
#ABDE
expected_r1_mon_9_a_b_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_9_a_b_d_e<-sum(expected_r1_mon_9_a_b_d_e$`nine months`)/4
#ABE
expected_r1_mon_9_a_b_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r1_mon_9_a_b_e<-sum(expected_r1_mon_9_a_b_e$`nine months`)/3
#AC
expected_r1_mon_9_a_c <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C')
expected_r1_mon_9_a_c<-sum(expected_r1_mon_9_a_c$`nine months`)/2
#ACD
expected_r1_mon_9_a_c_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r1_mon_9_a_c_d<-sum(expected_r1_mon_9_a_c_d$`nine months`)/3
#ACDE
expected_r1_mon_9_a_c_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_9_a_c_d_e<-sum(expected_r1_mon_9_a_c_d_e$`nine months`)/4
#ACE
expected_r1_mon_9_a_c_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r1_mon_9_a_c_e<-sum(expected_r1_mon_9_a_c_e$`nine months`)/3
#AD
expected_r1_mon_9_a_d <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D')
expected_r1_mon_9_a_d<-sum(expected_r1_mon_9_a_d$`nine months`)/2
#ADE
expected_r1_mon_9_a_d_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r1_mon_9_a_d_e<-sum(expected_r1_mon_9_a_d_e$`nine months`)/3
#AE
expected_r1_mon_9_a_e <- ml_wide_r1 %>%
filter(code == 'A'| code == 'E')
expected_r1_mon_9_a_e<-sum(expected_r1_mon_9_a_e$`nine months`)/2
#B
expected_r1_mon_9_b <- ml_wide_r1 %>%
filter(code == 'B')
expected_r1_mon_9_b<-sum(expected_r1_mon_9_b$`nine months`)/1
#BC
expected_r1_mon_9_b_c <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C')
expected_r1_mon_9_b_c<-sum(expected_r1_mon_9_b_c$`nine months`)/2
#BCD
expected_r1_mon_9_b_c_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r1_mon_9_b_c_d<-sum(expected_r1_mon_9_b_c_d$`nine months`)/3
#BCDE
expected_r1_mon_9_b_c_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_9_b_c_d_e<-sum(expected_r1_mon_9_b_c_d_e$`nine months`)/4
#BCE
expected_r1_mon_9_b_c_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r1_mon_9_b_c_e<-sum(expected_r1_mon_9_b_c_e$`nine months`)/3
#BD
expected_r1_mon_9_b_d <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D')
expected_r1_mon_9_b_d<-sum(expected_r1_mon_9_b_d$`nine months`)/2
#BDE
expected_r1_mon_9_b_d_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r1_mon_9_b_d_e<-sum(expected_r1_mon_9_b_d_e$`nine months`)/3
#BE
expected_r1_mon_9_b_e <- ml_wide_r1 %>%
filter(code == 'B'| code == 'E')
expected_r1_mon_9_b_e<-sum(expected_r1_mon_9_b_e$`nine months`)/2
#C
expected_r1_mon_9_c <- ml_wide_r1 %>%
filter(code == 'C')
expected_r1_mon_9_c<-sum(expected_r1_mon_9_c$`nine months`)/1
#CD
expected_r1_mon_9_c_d <- ml_wide_r1 %>%
filter(code == 'D'| code == 'C')
expected_r1_mon_9_c_d<-sum(expected_r1_mon_9_c_d$`nine months`)/2
#CDE
expected_r1_mon_9_c_d_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r1_mon_9_c_d_e<-sum(expected_r1_mon_9_c_d_e$`nine months`)/3
#CE
expected_r1_mon_9_c_e <- ml_wide_r1 %>%
filter(code == 'C'| code == 'E')
expected_r1_mon_9_c_e<-sum(expected_r1_mon_9_c_e$`nine months`)/2
#D
expected_r1_mon_9_d <- ml_wide_r1 %>%
filter(code == 'D')
expected_r1_mon_9_d<-sum(expected_r1_mon_9_d$`nine months`)/1
#DE
expected_r1_mon_9_d_e <- ml_wide_r1 %>%
filter(code == 'D'| code == 'E')
expected_r1_mon_9_d_e<-sum(expected_r1_mon_9_d_e$`nine months`)/2
#E
expected_r1_mon_9_e <- ml_wide_r1 %>%
filter(code == 'E')
expected_r1_mon_9_e<-sum(expected_r1_mon_9_e$`nine months`)/1
expected_r1_ml_9<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r1_ml_9=c(expected_r1_mon_9_a,expected_r1_mon_9_a_b,expected_r1_mon_9_a_b_c,expected_r1_mon_9_a_b_c_d,expected_r1_mon_9_a_b_c_d_e, expected_r1_mon_9_a_b_c_e,expected_r1_mon_9_a_b_d,expected_r1_mon_9_a_b_d_e,expected_r1_mon_9_a_b_e,expected_r1_mon_9_a_c, expected_r1_mon_9_a_c_d,expected_r1_mon_9_a_b_c_d_e,
expected_r1_mon_9_a_c_e,expected_r1_mon_9_a_d,expected_r1_mon_9_a_d_e,expected_r1_mon_9_a_e,expected_r1_mon_9_b,expected_r1_mon_9_b_c,expected_r1_mon_9_b_c_d,expected_r1_mon_9_b_c_d_e,expected_r1_mon_9_b_c_e,expected_r1_mon_9_b_d,expected_r1_mon_9_b_d_e, expected_r1_mon_9_b_e,expected_r1_mon_9_c,expected_r1_mon_9_c_d,expected_r1_mon_9_c_d_e,expected_r1_mon_9_c_e,
expected_r1_mon_9_d,expected_r1_mon_9_d_e,expected_r1_mon_9_e))#A
expected_r2_mon_9_a <- ml_wide_r2 %>%
filter(code == 'A')
expected_r2_mon_9_a<-sum(expected_r2_mon_9_a$`nine months`)/1
#AB
expected_r2_mon_9_a_b <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B')
expected_r2_mon_9_a_b<-sum(expected_r2_mon_9_a_b$`nine months`)/2
#ABC
expected_r2_mon_9_a_b_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r2_mon_9_a_b_c<-sum(expected_r2_mon_9_a_b_c$`nine months`)/3
#ABCD
expected_r2_mon_9_a_b_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_9_a_b_c_d<-sum(expected_r2_mon_9_a_b_c_d$`nine months`)/4
#ABCDE
expected_r2_mon_9_a_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_9_a_b_c_d_e<-sum(expected_r2_mon_9_a_b_c_d_e$`nine months`)/5
#ABCE
expected_r2_mon_9_a_b_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_9_a_b_c_e<-sum(expected_r2_mon_9_a_b_c_e$`nine months`)/4
#ABD
expected_r2_mon_9_a_b_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r2_mon_9_a_b_d<-sum(expected_r2_mon_9_a_b_d$`nine months`)/3
#ABDE
expected_r2_mon_9_a_b_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_9_a_b_d_e<-sum(expected_r2_mon_9_a_b_d_e$`nine months`)/4
#ABE
expected_r2_mon_9_a_b_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r2_mon_9_a_b_e<-sum(expected_r2_mon_9_a_b_e$`nine months`)/3
#AC
expected_r2_mon_9_a_c <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C')
expected_r2_mon_9_a_c<-sum(expected_r2_mon_9_a_c$`nine months`)/2
#ACD
expected_r2_mon_9_a_c_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r2_mon_9_a_c_d<-sum(expected_r2_mon_9_a_c_d$`nine months`)/3
#ACDE
expected_r2_mon_9_a_c_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_9_a_c_d_e<-sum(expected_r2_mon_9_a_c_d_e$`nine months`)/4
#ACE
expected_r2_mon_9_a_c_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r2_mon_9_a_c_e<-sum(expected_r2_mon_9_a_c_e$`nine months`)/3
#AD
expected_r2_mon_9_a_d <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D' )
expected_r2_mon_9_a_d<-sum(expected_r2_mon_9_a_d$`nine months`)/2
#ADE
expected_r2_mon_9_a_d_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r2_mon_9_a_d_e<-sum(expected_r2_mon_9_a_d_e$`nine months`)/3
#AE
expected_r2_mon_9_a_e <- ml_wide_r2 %>%
filter(code == 'A'| code == 'E')
expected_r2_mon_9_a_e<-sum(expected_r2_mon_9_a_e$`nine months`)/2
#B
expected_r2_mon_9_b <- ml_wide_r2 %>%
filter(code == 'B')
expected_r2_mon_9_b<-sum(expected_r2_mon_9_b$`nine months`)/1
#BC
expected_r2_mon_9_b_c <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C')
expected_r2_mon_9_b_c<-sum(expected_r2_mon_9_b_c$`nine months`)/2
#BCD
expected_r2_mon_9_b_c_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r2_mon_9_b_c_d<-sum(expected_r2_mon_9_b_c_d$`nine months`)/3
#BCDE
expected_r2_mon_9_b_c_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_9_b_c_d_e<-sum(expected_r2_mon_9_b_c_d_e$`nine months`)/4
#BCE
expected_r2_mon_9_b_c_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r2_mon_9_b_c_e<-sum(expected_r2_mon_9_b_c_e$`nine months`)/3
#BD
expected_r2_mon_9_b_d <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D')
expected_r2_mon_9_b_d<-sum(expected_r2_mon_9_b_d$`nine months`)/2
#BDE
expected_r2_mon_9_b_d_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r2_mon_9_b_d_e<-sum(expected_r2_mon_9_b_d_e$`nine months`)/3
#BE
expected_r2_mon_9_b_e <- ml_wide_r2 %>%
filter(code == 'B'| code == 'E')
expected_r2_mon_9_b_e<-sum(expected_r2_mon_9_b_e$`nine months`)/2
#C
expected_r2_mon_9_c <- ml_wide_r2 %>%
filter(code == 'C')
expected_r2_mon_9_c<-sum(expected_r2_mon_9_c$`nine months`)/1
#CD
expected_r2_mon_9_c_d <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D')
expected_r2_mon_9_c_d<-sum(expected_r2_mon_9_c_d$`nine months`)/2
#CDE
expected_r2_mon_9_c_d_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r2_mon_9_c_d_e<-sum(expected_r2_mon_9_c_d_e$`nine months`)/3
#CE
expected_r2_mon_9_c_e <- ml_wide_r2 %>%
filter(code == 'C'| code == 'E')
expected_r2_mon_9_c_e<-sum(expected_r2_mon_9_c_e$`nine months`)/2
#D
expected_r2_mon_9_d <- ml_wide_r2 %>%
filter(code == 'D')
expected_r2_mon_9_d<-sum(expected_r2_mon_9_d$`nine months`)/1
#DE
expected_r2_mon_9_d_e <- ml_wide_r2 %>%
filter(code == 'D'| code == 'E')
expected_r2_mon_9_d_e<-sum(expected_r2_mon_9_d_e$`nine months`)/2
#E
expected_r2_mon_9_e <- ml_wide_r2 %>%
filter(code == 'E')
expected_r2_mon_9_e<-sum(expected_r2_mon_9_e$`nine months`)/1
expected_r2_ml_9<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r2_ml_9=c(expected_r2_mon_9_a,expected_r2_mon_9_a_b,expected_r2_mon_9_a_b_c,expected_r2_mon_9_a_b_c_d,expected_r2_mon_9_a_b_c_d_e, expected_r2_mon_9_a_b_c_e,expected_r2_mon_9_a_b_d,expected_r2_mon_9_a_b_d_e,expected_r2_mon_9_a_b_e,expected_r2_mon_9_a_c, expected_r2_mon_9_a_c_d,expected_r2_mon_9_a_b_c_d_e,
expected_r2_mon_9_a_c_e,expected_r2_mon_9_a_d,expected_r2_mon_9_a_d_e,expected_r2_mon_9_a_e,expected_r2_mon_9_b,expected_r2_mon_9_b_c,expected_r2_mon_9_b_c_d,expected_r2_mon_9_b_c_d_e,expected_r2_mon_9_b_c_e,expected_r2_mon_9_b_d,expected_r2_mon_9_b_d_e, expected_r2_mon_9_b_e,expected_r2_mon_9_c,expected_r2_mon_9_c_d,expected_r2_mon_9_c_d_e,expected_r2_mon_9_c_e,
expected_r2_mon_9_d,expected_r2_mon_9_d_e,expected_r2_mon_9_e))#A
expected_r3_mon_9_a <- ml_wide_r3 %>%
filter(code == 'A')
expected_r3_mon_9_a<-sum(expected_r3_mon_9_a$`nine months`)/1
#AB
expected_r3_mon_9_a_b <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B')
expected_r3_mon_9_a_b<-sum(expected_r3_mon_9_a_b$`nine months`)/2
#ABC
expected_r3_mon_9_a_b_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r3_mon_9_a_b_c<-sum(expected_r3_mon_9_a_b_c$`nine months`)/3
#ABCD
expected_r3_mon_9_a_b_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_9_a_b_c_d<-sum(expected_r3_mon_9_a_b_c_d$`nine months`)/4
#ABCDE
expected_r3_mon_9_a_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_9_a_b_c_d_e<-sum(expected_r3_mon_9_a_b_c_d_e$`nine months`)/5
#ABCE
expected_r3_mon_9_a_b_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_9_a_b_c_e<-sum(expected_r3_mon_9_a_b_c_e$`nine months`)/4
#ABD
expected_r3_mon_9_a_b_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r3_mon_9_a_b_d<-sum(expected_r3_mon_9_a_b_d$`nine months`)/3
#ABDE
expected_r3_mon_9_a_b_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_9_a_b_d_e<-sum(expected_r3_mon_9_a_b_d_e$`nine months`)/4
#ABE
expected_r3_mon_9_a_b_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r3_mon_9_a_b_e<-sum(expected_r3_mon_9_a_b_e$`nine months`)/3
#AC
expected_r3_mon_9_a_c <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C')
expected_r3_mon_9_a_c<-sum(expected_r3_mon_9_a_c$`nine months`)/2
#ACD
expected_r3_mon_9_a_c_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r3_mon_9_a_c_d<-sum(expected_r3_mon_9_a_c_d$`nine months`)/3
#ACDE
expected_r3_mon_9_a_c_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_9_a_c_d_e<-sum(expected_r3_mon_9_a_c_d_e$`nine months`)/4
#ACE
expected_r3_mon_9_a_c_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r3_mon_9_a_c_e<-sum(expected_r3_mon_9_a_c_e$`nine months`)/3
#AD
expected_r3_mon_9_a_d <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D')
expected_r3_mon_9_a_d<-sum(expected_r3_mon_9_a_d$`nine months`)/2
#ADE
expected_r3_mon_9_a_d_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r3_mon_9_a_d_e<-sum(expected_r3_mon_9_a_d_e$`nine months`)/3
#AE
expected_r3_mon_9_a_e <- ml_wide_r3 %>%
filter(code == 'A'| code == 'E')
expected_r3_mon_9_a_e<-sum(expected_r3_mon_9_a_e$`nine months`)/2
#B
expected_r3_mon_9_b <- ml_wide_r3 %>%
filter(code == 'B')
expected_r3_mon_9_b<-sum(expected_r3_mon_9_b$`nine months`)/1
#BC
expected_r3_mon_9_b_c <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C')
expected_r3_mon_9_b_c<-sum(expected_r3_mon_9_b_c$`nine months`)/2
#BCD
expected_r3_mon_9_b_c_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r3_mon_9_b_c_d<-sum(expected_r3_mon_9_b_c_d$`nine months`)/3
#BCDE
expected_r3_mon_9_b_c_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_9_b_c_d_e<-sum(expected_r3_mon_9_b_c_d_e$`nine months`)/4
#BCE
expected_r3_mon_9_b_c_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r3_mon_9_b_c_e<-sum(expected_r3_mon_9_b_c_e$`nine months`)/3
#BD
expected_r3_mon_9_b_d <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D')
expected_r3_mon_9_b_d<-sum(expected_r3_mon_9_b_d$`nine months`)/2
#BDE
expected_r3_mon_9_b_d_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r3_mon_9_b_d_e<-sum(expected_r3_mon_9_b_d_e$`nine months`)/3
#BE
expected_r3_mon_9_b_e <- ml_wide_r3 %>%
filter(code == 'B'| code == 'E')
expected_r3_mon_9_b_e<-sum(expected_r3_mon_9_b_e$`nine months`)/2
#C
expected_r3_mon_9_c <- ml_wide_r3 %>%
filter(code == 'C')
expected_r3_mon_9_c<-sum(expected_r3_mon_9_c$`nine months`)/1
#CD
expected_r3_mon_9_c_d <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D')
expected_r3_mon_9_c_d<-sum(expected_r3_mon_9_c_d$`nine months`)/2
#CDE
expected_r3_mon_9_c_d_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r3_mon_9_c_d_e<-sum(expected_r3_mon_9_c_d_e$`nine months`)/3
#CE
expected_r3_mon_9_c_e <- ml_wide_r3 %>%
filter(code == 'C'| code == 'E')
expected_r3_mon_9_c_e<-sum(expected_r3_mon_9_c_e$`nine months`)/2
#D
expected_r3_mon_9_d <- ml_wide_r3 %>%
filter(code == 'D')
expected_r3_mon_9_d<-sum(expected_r3_mon_9_d$`nine months`)/1
#DE
expected_r3_mon_9_d_e <- ml_wide_r3 %>%
filter(code == 'D'| code == 'E')
expected_r3_mon_9_d_e<-sum(expected_r3_mon_9_d_e$`nine months`)/2
#E
expected_r3_mon_9_e <- ml_wide_r3 %>%
filter(code == 'E')
expected_r3_mon_9_e<-sum(expected_r3_mon_9_e$`nine months`)/1
expected_r3_ml_9<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r3_ml_9=c(expected_r3_mon_9_a,expected_r3_mon_9_a_b,expected_r3_mon_9_a_b_c,expected_r3_mon_9_a_b_c_d,expected_r3_mon_9_a_b_c_d_e, expected_r3_mon_9_a_b_c_e,expected_r3_mon_9_a_b_d,expected_r3_mon_9_a_b_d_e,expected_r3_mon_9_a_b_e,expected_r3_mon_9_a_c, expected_r3_mon_9_a_c_d,expected_r3_mon_9_a_b_c_d_e,
expected_r3_mon_9_a_c_e,expected_r3_mon_9_a_d,expected_r3_mon_9_a_d_e,expected_r3_mon_9_a_e,expected_r3_mon_9_b,expected_r3_mon_9_b_c,expected_r3_mon_9_b_c_d,expected_r3_mon_9_b_c_d_e,expected_r3_mon_9_b_c_e,expected_r3_mon_9_b_d,expected_r3_mon_9_b_d_e, expected_r3_mon_9_b_e,expected_r3_mon_9_c,expected_r3_mon_9_c_d,expected_r3_mon_9_c_d_e,expected_r3_mon_9_c_e,
expected_r3_mon_9_d,expected_r3_mon_9_d_e,expected_r3_mon_9_e))#A
expected_r4_mon_9_a <- ml_wide_r4 %>%
filter(code == 'A')
expected_r4_mon_9_a<-sum(expected_r4_mon_9_a$`nine months`)/1
#AB
expected_r4_mon_9_a_b <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B')
expected_r4_mon_9_a_b<-sum(expected_r4_mon_9_a_b$`nine months`)/2
#ABC
expected_r4_mon_9_a_b_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r4_mon_9_a_b_c<-sum(expected_r4_mon_9_a_b_c$`nine months`)/3
#ABCD
expected_r4_mon_9_a_b_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_9_a_b_c_d<-sum(expected_r4_mon_9_a_b_c_d$`nine months`)/4
#ABCDE
expected_r4_mon_9_a_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_9_a_b_c_d_e<-sum(expected_r4_mon_9_a_b_c_d_e$`nine months`)/5
#ABCE
expected_r4_mon_9_a_b_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_9_a_b_c_e<-sum(expected_r4_mon_9_a_b_c_e$`nine months`)/4
#ABD
expected_r4_mon_9_a_b_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r4_mon_9_a_b_d<-sum(expected_r4_mon_9_a_b_d$`nine months`)/3
#ABDE
expected_r4_mon_9_a_b_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_9_a_b_d_e<-sum(expected_r4_mon_9_a_b_d_e$`nine months`)/4
#ABE
expected_r4_mon_9_a_b_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r4_mon_9_a_b_e<-sum(expected_r4_mon_9_a_b_e$`nine months`)/3
#AC
expected_r4_mon_9_a_c <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C')
expected_r4_mon_9_a_c<-sum(expected_r4_mon_9_a_c$`nine months`)/2
#ACD
expected_r4_mon_9_a_c_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r4_mon_9_a_c_d<-sum(expected_r4_mon_9_a_c_d$`nine months`)/3
#ACDE
expected_r4_mon_9_a_c_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_9_a_c_d_e<-sum(expected_r4_mon_9_a_c_d_e$`nine months`)/4
#ACE
expected_r4_mon_9_a_c_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r4_mon_9_a_c_e<-sum(expected_r4_mon_9_a_c_e$`nine months`)/3
#AD
expected_r4_mon_9_a_d <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D')
expected_r4_mon_9_a_d<-sum(expected_r4_mon_9_a_d$`nine months`)/2
#ADE
expected_r4_mon_9_a_d_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r4_mon_9_a_d_e<-sum(expected_r4_mon_9_a_d_e$`nine months`)/3
#AE
expected_r4_mon_9_a_e <- ml_wide_r4 %>%
filter(code == 'A'| code == 'E')
expected_r4_mon_9_a_e<-sum(expected_r4_mon_9_a_e$`nine months`)/2
#B
expected_r4_mon_9_b <- ml_wide_r4 %>%
filter(code == 'B')
expected_r4_mon_9_b<-sum(expected_r4_mon_9_b$`nine months`)/1
#BC
expected_r4_mon_9_b_c <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C')
expected_r4_mon_9_b_c<-sum(expected_r4_mon_9_b_c$`nine months`)/2
#BCD
expected_r4_mon_9_b_c_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r4_mon_9_b_c_d<-sum(expected_r4_mon_9_b_c_d$`nine months`)/3
#BCDE
expected_r4_mon_9_b_c_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_9_b_c_d_e<-sum(expected_r4_mon_9_b_c_d_e$`nine months`)/4
#BCE
expected_r4_mon_9_b_c_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r4_mon_9_b_c_e<-sum(expected_r4_mon_9_b_c_e$`nine months`)/3
#BD
expected_r4_mon_9_b_d <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D')
expected_r4_mon_9_b_d<-sum(expected_r4_mon_9_b_d$`nine months`)/2
#BDE
expected_r4_mon_9_b_d_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r4_mon_9_b_d_e<-sum(expected_r4_mon_9_b_d_e$`nine months`)/3
#BE
expected_r4_mon_9_b_e <- ml_wide_r4 %>%
filter(code == 'B'| code == 'E')
expected_r4_mon_9_b_e<-sum(expected_r4_mon_9_b_e$`nine months`)/2
#C
expected_r4_mon_9_c <- ml_wide_r4 %>%
filter(code == 'C')
expected_r4_mon_9_c<-sum(expected_r4_mon_9_c$`nine months`)/1
#CD
expected_r4_mon_9_c_d <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D')
expected_r4_mon_9_c_d<-sum(expected_r4_mon_9_c_d$`nine months`)/2
#CDE
expected_r4_mon_9_c_d_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r4_mon_9_c_d_e<-sum(expected_r4_mon_9_c_d_e$`nine months`)/3
#CE
expected_r4_mon_9_c_e <- ml_wide_r4 %>%
filter(code == 'C'| code == 'E')
expected_r4_mon_9_c_e<-sum(expected_r4_mon_9_c_e$`nine months`)/2
#D
expected_r4_mon_9_d <- ml_wide_r4 %>%
filter(code == 'D')
expected_r4_mon_9_d<-sum(expected_r4_mon_9_d$`nine months`)/1
#DE
expected_r4_mon_9_d_e <- ml_wide_r4 %>%
filter(code == 'D'| code == 'E')
expected_r4_mon_9_d_e<-sum(expected_r4_mon_9_d_e$`nine months`)/2
#E
expected_r4_mon_9_e <- ml_wide_r4 %>%
filter(code == 'E')
expected_r4_mon_9_e<-sum(expected_r4_mon_9_e$`nine months`)/1
expected_r4_ml_9<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r4_ml_9=c(expected_r4_mon_9_a,expected_r4_mon_9_a_b,expected_r4_mon_9_a_b_c,expected_r4_mon_9_a_b_c_d,expected_r4_mon_9_a_b_c_d_e, expected_r4_mon_9_a_b_c_e,expected_r4_mon_9_a_b_d,expected_r4_mon_9_a_b_d_e,expected_r4_mon_9_a_b_e,expected_r4_mon_9_a_c, expected_r4_mon_9_a_c_d,expected_r4_mon_9_a_b_c_d_e,
expected_r4_mon_9_a_c_e,expected_r4_mon_9_a_d,expected_r4_mon_9_a_d_e,expected_r4_mon_9_a_e,expected_r4_mon_9_b,expected_r4_mon_9_b_c,expected_r4_mon_9_b_c_d,expected_r4_mon_9_b_c_d_e,expected_r4_mon_9_b_c_e,expected_r4_mon_9_b_d,expected_r4_mon_9_b_d_e, expected_r4_mon_9_b_e,expected_r4_mon_9_c,expected_r4_mon_9_c_d,expected_r4_mon_9_c_d_e,expected_r4_mon_9_c_e,
expected_r4_mon_9_d,expected_r4_mon_9_d_e,expected_r4_mon_9_e))#A
expected_r5_mon_9_a <- ml_wide_r5 %>%
filter(code == 'A')
expected_r5_mon_9_a<-sum(expected_r5_mon_9_a$`nine months`)/1
#AB
expected_r5_mon_9_a_b <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B')
expected_r5_mon_9_a_b<-sum(expected_r5_mon_9_a_b$`nine months`)/2
#ABC
expected_r5_mon_9_a_b_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C')
expected_r5_mon_9_a_b_c<-sum(expected_r5_mon_9_a_b_c$`nine months`)/3
#ABCD
expected_r5_mon_9_a_b_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_9_a_b_c_d<-sum(expected_r5_mon_9_a_b_c_d$`nine months`)/4
#ABCDE
expected_r5_mon_9_a_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_9_a_b_c_d_e<-sum(expected_r5_mon_9_a_b_c_d_e$`nine months`)/5
#ABCE
expected_r5_mon_9_a_b_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_9_a_b_c_e<-sum(expected_r5_mon_9_a_b_c_e$`nine months`)/4
#ABD
expected_r5_mon_9_a_b_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D')
expected_r5_mon_9_a_b_d<-sum(expected_r5_mon_9_a_b_d$`nine months`)/3
#ABDE
expected_r5_mon_9_a_b_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_9_a_b_d_e<-sum(expected_r5_mon_9_a_b_d_e$`nine months`)/4
#ABE
expected_r5_mon_9_a_b_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'B'| code == 'E')
expected_r5_mon_9_a_b_e<-sum(expected_r5_mon_9_a_b_e$`nine months`)/3
#AC
expected_r5_mon_9_a_c <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C')
expected_r5_mon_9_a_c<-sum(expected_r5_mon_9_a_c$`nine months`)/2
#ACD
expected_r5_mon_9_a_c_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D')
expected_r5_mon_9_a_c_d<-sum(expected_r5_mon_9_a_c_d$`nine months`)/3
#ACDE
expected_r5_mon_9_a_c_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_9_a_c_d_e<-sum(expected_r5_mon_9_a_c_d_e$`nine months`)/4
#ACE
expected_r5_mon_9_a_c_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'C'| code == 'E')
expected_r5_mon_9_a_c_e<-sum(expected_r5_mon_9_a_c_e$`nine months`)/3
#AD
expected_r5_mon_9_a_d <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D')
expected_r5_mon_9_a_d<-sum(expected_r5_mon_9_a_d$`nine months`)/2
#ADE
expected_r5_mon_9_a_d_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'D'| code == 'E')
expected_r5_mon_9_a_d_e<-sum(expected_r5_mon_9_a_d_e$`nine months`)/3
#AE
expected_r5_mon_9_a_e <- ml_wide_r5 %>%
filter(code == 'A'| code == 'E')
expected_r5_mon_9_a_e<-sum(expected_r5_mon_9_a_e$`nine months`)/2
#B
expected_r5_mon_9_b <- ml_wide_r5 %>%
filter(code == 'B')
expected_r5_mon_9_b<-sum(expected_r5_mon_9_b$`nine months`)/1
#BC
expected_r5_mon_9_b_c <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C')
expected_r5_mon_9_b_c<-sum(expected_r5_mon_9_b_c$`nine months`)/2
#BCD
expected_r5_mon_9_b_c_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D')
expected_r5_mon_9_b_c_d<-sum(expected_r5_mon_9_b_c_d$`nine months`)/3
#BCDE
expected_r5_mon_9_b_c_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_9_b_c_d_e<-sum(expected_r5_mon_9_b_c_d_e$`nine months`)/4
#BCE
expected_r5_mon_9_b_c_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'C'| code == 'E')
expected_r5_mon_9_b_c_e<-sum(expected_r5_mon_9_b_c_e$`nine months`)/3
#BD
expected_r5_mon_9_b_d <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D')
expected_r5_mon_9_b_d<-sum(expected_r5_mon_9_b_d$`nine months`)/2
#BDE
expected_r5_mon_9_b_d_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'D'| code == 'E')
expected_r5_mon_9_b_d_e<-sum(expected_r5_mon_9_b_d_e$`nine months`)/3
#BE
expected_r5_mon_9_b_e <- ml_wide_r5 %>%
filter(code == 'B'| code == 'E')
expected_r5_mon_9_b_e<-sum(expected_r5_mon_9_b_e$`nine months`)/2
#C
expected_r5_mon_9_c <- ml_wide_r5 %>%
filter(code == 'C')
expected_r5_mon_9_c<-sum(expected_r5_mon_9_c$`nine months`)/1
#CD
expected_r5_mon_9_c_d <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D')
expected_r5_mon_9_c_d<-sum(expected_r5_mon_9_c_d$`nine months`)/2
#CDE
expected_r5_mon_9_c_d_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'D'| code == 'E')
expected_r5_mon_9_c_d_e<-sum(expected_r5_mon_9_c_d_e$`nine months`)/3
#CE
expected_r5_mon_9_c_e <- ml_wide_r5 %>%
filter(code == 'C'| code == 'E')
expected_r5_mon_9_c_e<-sum(expected_r5_mon_9_c_e$`nine months`)/2
#D
expected_r5_mon_9_d <- ml_wide_r5 %>%
filter(code == 'D')
expected_r5_mon_9_d<-sum(expected_r5_mon_9_d$`nine months`)/1
#DE
expected_r5_mon_9_d_e <- ml_wide_r5 %>%
filter(code == 'D'| code == 'E')
expected_r5_mon_9_d_e<-sum(expected_r5_mon_9_d_e$`nine months`)/2
#E
expected_r5_mon_9_e <- ml_wide_r5 %>%
filter(code == 'E')
expected_r5_mon_9_e<-sum(expected_r5_mon_9_e$`nine months`)/1
expected_r5_ml_9<-data.frame(item=c("A", "AB", "ABC", "ABCD", "ABCDE", "ABCE","ABD","ABDE","ABE", "AC", "ACD","ACDE","ACE","AD","ADE", "AE", "B", "BC", "BCD", "BCDE", "BCE", "BD", "BDE", "BE", "C", "CD", "CDE", "CE", "D", "DE", "E"),
expected_r5_ml_9=c(expected_r5_mon_9_a,expected_r5_mon_9_a_b,expected_r5_mon_9_a_b_c,expected_r5_mon_9_a_b_c_d,expected_r5_mon_9_a_b_c_d_e, expected_r5_mon_9_a_b_c_e,expected_r5_mon_9_a_b_d,expected_r5_mon_9_a_b_d_e,expected_r5_mon_9_a_b_e,expected_r5_mon_9_a_c, expected_r5_mon_9_a_c_d,expected_r5_mon_9_a_b_c_d_e,
expected_r5_mon_9_a_c_e,expected_r5_mon_9_a_d,expected_r5_mon_9_a_d_e,expected_r5_mon_9_a_e,expected_r5_mon_9_b,expected_r5_mon_9_b_c,expected_r5_mon_9_b_c_d,expected_r5_mon_9_b_c_d_e,expected_r5_mon_9_b_c_e,expected_r5_mon_9_b_d,expected_r5_mon_9_b_d_e, expected_r5_mon_9_b_e,expected_r5_mon_9_c,expected_r5_mon_9_c_d,expected_r5_mon_9_c_d_e,expected_r5_mon_9_c_e,
expected_r5_mon_9_d,expected_r5_mon_9_d_e,expected_r5_mon_9_e))We need to combined all the expected mass loss into a single dataframe before merging with the litter dataframe.
library(data.table)##
## Attaching package: 'data.table'
## The following objects are masked from 'package:dplyr':
##
## between, first, last
# Micro mesh size
expected_fine_mon_16<-Reduce(merge, list(expected_r1_ml_16, expected_r2_ml_16, expected_r3_ml_16, expected_r4_ml_16, expected_r5_ml_16))
expected_fine_mon_16<-setnames(expected_fine_mon_16, old = c('item','expected_r1_ml_16','expected_r2_ml_16','expected_r3_ml_16','expected_r4_ml_16','expected_r5_ml_16'), new = c('code','R1','R2','R3','R4','R5'))
expected_ml_fine_16<-gather(expected_fine_mon_16, plot, 'sixteen months', 'R1', 'R2', 'R3', 'R4', 'R5')
expected_fine_mon_1<-Reduce(merge, list(expected_r1_ml_1, expected_r2_ml_1, expected_r3_ml_1, expected_r4_ml_1, expected_r5_ml_1))
expected_fine_mon_1<-setnames(expected_fine_mon_1, old = c('item','expected_r1_ml_1','expected_r2_ml_1','expected_r3_ml_1','expected_r4_ml_1','expected_r5_ml_1'), new = c('code','R1','R2','R3','R4','R5'))
expected_ml_fine_1<-gather(expected_fine_mon_1, plot, 'one month', 'R1', 'R2', 'R3', 'R4', 'R5')
expected_fine_mon_3<-Reduce(merge, list(expected_r1_ml_3, expected_r2_ml_3, expected_r3_ml_3, expected_r4_ml_3, expected_r5_ml_3))
expected_fine_mon_3<-setnames(expected_fine_mon_3, old = c('item','expected_r1_ml_3','expected_r2_ml_3','expected_r3_ml_3','expected_r4_ml_3','expected_r5_ml_3'), new = c('code','R1','R2','R3','R4','R5'))
expected_ml_fine_3<-gather(expected_fine_mon_3, plot, 'three months', 'R1', 'R2', 'R3', 'R4', 'R5')
expected_fine_mon_6<-Reduce(merge, list(expected_r1_ml_6, expected_r2_ml_6, expected_r3_ml_6, expected_r4_ml_6, expected_r5_ml_6))
expected_fine_mon_6<-setnames(expected_fine_mon_6, old = c('item','expected_r1_ml_6','expected_r2_ml_6','expected_r3_ml_6','expected_r4_ml_6','expected_r5_ml_6'), new = c('code','R1','R2','R3','R4','R5'))
expected_ml_fine_6<-gather(expected_fine_mon_6, plot, 'six months', 'R1', 'R2', 'R3', 'R4', 'R5')
expected_fine_mon_9<-Reduce(merge, list(expected_r1_ml_9, expected_r2_ml_9, expected_r3_ml_9, expected_r4_ml_9, expected_r5_ml_9))
expected_fine_mon_9<-setnames(expected_fine_mon_9, old = c('item','expected_r1_ml_9','expected_r2_ml_9','expected_r3_ml_9','expected_r4_ml_9','expected_r5_ml_9'), new = c('code','R1','R2','R3','R4','R5'))
expected_ml_fine_9<-gather(expected_fine_mon_9, plot, 'nine months', 'R1', 'R2', 'R3', 'R4', 'R5')
# combine the expected mass loss per mesh size per harvest time
expected_ml_fine_five_harvest<-Reduce(merge, list(expected_ml_fine_1, expected_ml_fine_3,expected_ml_fine_6, expected_ml_fine_9, expected_ml_fine_16))
expected_ml_fine<-gather(expected_ml_fine_five_harvest, Time_month, '0.07 mm', 'one month', 'three months', 'six months', 'nine months', 'sixteen months')Let’s bring expected mass loss calculated from the single species components in the fine mesh size. This is for our conceptual framework where we make the mass loss in 0.07 mm the baseline for our model.
#expected_ml_fine$expected_ml_0.07mm<-expected_ml_fine$`0.07 mm`
head(expected_ml_fine)## code plot Time_month 0.07 mm
## 1 A R1 one month 13.083110
## 2 A R2 one month 9.544236
## 3 A R3 one month 4.825737
## 4 A R4 one month 9.758713
## 5 A R5 one month 13.780161
## 6 AB R1 one month 9.267370
litter<-full_join(litter,expected_ml_fine, by = c("code","Time_month","plot"))
#colnames('0.07 mm') <- "expected_mass_loss_0.07mm"
colnames(litter)[27] <- "expected_mass_loss_0.07mm"
head(litter[1:6, ])## id code species prop_slow_decomp prop_gymn No_species species_richness
## 1 1 A Kp 0 0 1 1
## 2 1 A Kp 0 0 1 1
## 3 1 A Kp 0 0 1 1
## 4 1 A Kp 0 0 1 1
## 5 1 A Kp 0 0 1 1
## 6 1 A Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm
## 1 0 0 fast 13.08311
## 2 0 0 fast 13.08311
## 3 0 0 fast 18.65952
## 4 0 0 fast 13.08311
## 5 0 0 fast 13.08311
## 6 0 0 fast 18.65952
## Create a plot_harvest variable
litter$plot_harvest<-paste(litter$plot, litter$Time, sep="_")
litter$plot_harvest<-as.factor(litter$plot_harvest)
head(litter[1:6, ])## id code species prop_slow_decomp prop_gymn No_species species_richness
## 1 1 A Kp 0 0 1 1
## 2 1 A Kp 0 0 1 1
## 3 1 A Kp 0 0 1 1
## 4 1 A Kp 0 0 1 1
## 5 1 A Kp 0 0 1 1
## 6 1 A Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
We have the initial quality traits (initial_N,initial_C,initial_P,LDMC initial_lignin, initial_tannin) from our five single species. And we computed quality of the mixture by averaging the quality from single components. Then, we calculated the euclidean dissimilarity distance.
#setwd("E:/presentations")
trait<-read.csv("traits_new.csv", header = TRUE, sep = ",", quote = "\"",
dec = ".", fill = TRUE, comment.char = "")
head(trait)## species initial_N initial_C initial_P LDMC initial_lignin initial_tannin
## 1 A 1.10 45.57 2.5986 0.3801092 21.15 10.33
## 2 B 0.88 48.95 1.1558 0.5017838 34.70 7.19
## 3 C 0.83 40.55 0.9538 0.5517229 25.90 5.77
## 4 D 0.66 51.15 0.2728 0.6842406 31.15 2.60
## 5 E 0.75 46.45 1.0496 0.3896994 39.40 2.34
str(trait)## 'data.frame': 5 obs. of 7 variables:
## $ species : chr "A" "B" "C" "D" ...
## $ initial_N : num 1.1 0.88 0.83 0.66 0.75
## $ initial_C : num 45.6 49 40.5 51.1 46.5
## $ initial_P : num 2.599 1.156 0.954 0.273 1.05
## $ LDMC : num 0.38 0.502 0.552 0.684 0.39
## $ initial_lignin: num 21.1 34.7 25.9 31.1 39.4
## $ initial_tannin: num 10.33 7.19 5.77 2.6 2.34
#trait$initial_CN<-trait$initial_C/trait$initial_N
### convert species to factor
trait$species<-as.factor(trait$species)
### read the values as numeric
trait$initial_N<-as.numeric(trait$initial_N)
trait$initial_C<-as.numeric(trait$initial_C)
trait$initial_P<-as.numeric(trait$initial_P)
trait$LDMC<-as.numeric(trait$LDMC)
trait$initial_lignin<-as.numeric(trait$initial_lignin)
trait$initial_tannin<-as.numeric(trait$initial_tannin)
trait## species initial_N initial_C initial_P LDMC initial_lignin initial_tannin
## 1 A 1.10 45.57 2.5986 0.3801092 21.15 10.33
## 2 B 0.88 48.95 1.1558 0.5017838 34.70 7.19
## 3 C 0.83 40.55 0.9538 0.5517229 25.90 5.77
## 4 D 0.66 51.15 0.2728 0.6842406 31.15 2.60
## 5 E 0.75 46.45 1.0496 0.3896994 39.40 2.34
str(trait)## 'data.frame': 5 obs. of 7 variables:
## $ species : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
## $ initial_N : num 1.1 0.88 0.83 0.66 0.75
## $ initial_C : num 45.6 49 40.5 51.1 46.5
## $ initial_P : num 2.599 1.156 0.954 0.273 1.05
## $ LDMC : num 0.38 0.502 0.552 0.684 0.39
## $ initial_lignin: num 21.1 34.7 25.9 31.1 39.4
## $ initial_tannin: num 10.33 7.19 5.77 2.6 2.34
For the species A-K.paniculata, B-Q. chenii, C-L. formosana, D-P. masonniana, E- T. distichum
Prior, to the dissimilarity distance calculation, we first check whether the traits were highly correlate with each other. Check for correlation among exploratory variables litter traits
cor_NP <- cor.test(trait$initial_N, trait$initial_P,method = "pearson")
cor_NP##
## Pearson's product-moment correlation
##
## data: trait$initial_N and trait$initial_P
## t = 6.4125, df = 3, p-value = 0.007685
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.5607601 0.9978003
## sample estimates:
## cor
## 0.9654032
N and P are highly correlated, let’s keep N in our models.
cor_NC <- cor.test(trait$initial_N, trait$initial_C,method = "pearson")
cor_NC ##
## Pearson's product-moment correlation
##
## data: trait$initial_N and trait$initial_C
## t = -0.63985, df = 3, p-value = 0.5678
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9410787 0.7716565
## sample estimates:
## cor
## -0.3465295
N and C are not correlated
cor_CP <- cor.test(trait$initial_C, trait$initial_P,method = "pearson")
cor_CP ##
## Pearson's product-moment correlation
##
## data: trait$initial_C and trait$initial_P
## t = -0.56904, df = 3, p-value = 0.6091
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9365001 0.7868124
## sample estimates:
## cor
## -0.312123
C and P are not correlated.
cor_LN <- cor.test(trait$LDMC, trait$initial_N,method = "pearson")
cor_LN ##
## Pearson's product-moment correlation
##
## data: trait$LDMC and trait$initial_N
## t = -1.5189, df = 3, p-value = 0.2261
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9746433 0.5329502
## sample estimates:
## cor
## -0.6593411
LDMC and N are not correlated.
cor_LP <- cor.test(trait$LDMC, trait$initial_P,method = "pearson")
cor_LP ##
## Pearson's product-moment correlation
##
## data: trait$LDMC and trait$initial_P
## t = -2.1744, df = 3, p-value = 0.118
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.9848263 0.3229578
## sample estimates:
## cor
## -0.7821785
LDMC and P are not correlated.
cor_LC <- cor.test(trait$LDMC, trait$initial_C,method = "pearson")
cor_LC ##
## Pearson's product-moment correlation
##
## data: trait$LDMC and trait$initial_C
## t = 0.61293, df = 3, p-value = 0.5833
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## -0.7775035 0.9393837
## sample estimates:
## cor
## 0.333603
LDMC and C are not correlated.
We then simply do the following junk of code and get the pairwise correlation.
library(Rarity)
str(trait)
corPlot(trait[,-1], method = "pearson")## 'data.frame': 5 obs. of 7 variables:
## $ species : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
## $ initial_N : num 1.1 0.88 0.83 0.66 0.75
## $ initial_C : num 45.6 49 40.5 51.1 46.5
## $ initial_P : num 2.599 1.156 0.954 0.273 1.05
## $ LDMC : num 0.38 0.502 0.552 0.684 0.39
## $ initial_lignin: num 21.1 34.7 25.9 31.1 39.4
## $ initial_tannin: num 10.33 7.19 5.77 2.6 2.34
We computed the dissimilarity distance by using vegdist () in vegan package. Prior to the dissimilarity distance calculation, we standardized all values.
library(vegan)
###scaling/ standardise
D=rapply(trait,scale,c("numeric"),how="replace")
D
str(D)
mean(D$initial_N)#check the mean of Initial N (should be zero)
sd(D$initial_N)#std should be 1
D[,3:7]
head(D)
trait_dis<-vegdist(D[,3:7], method="euclidean")# calculate euclidean distance
trait_dis
trait_dis_mat<-as.matrix((trait_dis))
trait_dis_mat
row.names(trait_dis_mat)<-c("A","B","C","D","E")
colnames(trait_dis_mat)<-c("A","B","C","D","E")
trait_dis_mat
trait_dis_mat["A","B"]## species initial_N initial_C initial_P LDMC initial_lignin
## 1 A 1.54570660 -0.24120904 1.63516416 -0.966191767 -1.29779891
## 2 B 0.21736499 0.60452390 -0.05908987 0.002169295 0.59104913
## 3 C -0.08453083 -1.49729760 -0.29629483 0.399616254 -0.63565661
## 4 D -1.11097662 1.15500095 -1.09598085 1.454273590 0.09618488
## 5 E -0.56756414 -0.02101821 -0.18379861 -0.889867372 1.24622151
## initial_tannin
## 1 1.40358281
## 2 0.46266692
## 3 0.03715719
## 4 -0.91274834
## 5 -0.99065858
## 'data.frame': 5 obs. of 7 variables:
## $ species : Factor w/ 5 levels "A","B","C","D",..: 1 2 3 4 5
## $ initial_N : num [1:5, 1] 1.5457 0.2174 -0.0845 -1.111 -0.5676
## ..- attr(*, "scaled:center")= num 0.844
## ..- attr(*, "scaled:scale")= num 0.166
## $ initial_C : num [1:5, 1] -0.241 0.605 -1.497 1.155 -0.021
## ..- attr(*, "scaled:center")= num 46.5
## ..- attr(*, "scaled:scale")= num 4
## $ initial_P : num [1:5, 1] 1.6352 -0.0591 -0.2963 -1.096 -0.1838
## ..- attr(*, "scaled:center")= num 1.21
## ..- attr(*, "scaled:scale")= num 0.852
## $ LDMC : num [1:5, 1] -0.96619 0.00217 0.39962 1.45427 -0.88987
## ..- attr(*, "scaled:center")= num 0.502
## ..- attr(*, "scaled:scale")= num 0.126
## $ initial_lignin: num [1:5, 1] -1.2978 0.591 -0.6357 0.0962 1.2462
## ..- attr(*, "scaled:center")= num 30.5
## ..- attr(*, "scaled:scale")= num 7.17
## $ initial_tannin: num [1:5, 1] 1.4036 0.4627 0.0372 -0.9127 -0.9907
## ..- attr(*, "scaled:center")= num 5.65
## ..- attr(*, "scaled:scale")= num 3.34
## [1] 2.63678e-16
## [1] 1
## initial_C initial_P LDMC initial_lignin initial_tannin
## 1 -0.24120904 1.63516416 -0.966191767 -1.29779891 1.40358281
## 2 0.60452390 -0.05908987 0.002169295 0.59104913 0.46266692
## 3 -1.49729760 -0.29629483 0.399616254 -0.63565661 0.03715719
## 4 1.15500095 -1.09598085 1.454273590 0.09618488 -0.91274834
## 5 -0.02101821 -0.18379861 -0.889867372 1.24622151 -0.99065858
## species initial_N initial_C initial_P LDMC initial_lignin
## 1 A 1.54570660 -0.24120904 1.63516416 -0.966191767 -1.29779891
## 2 B 0.21736499 0.60452390 -0.05908987 0.002169295 0.59104913
## 3 C -0.08453083 -1.49729760 -0.29629483 0.399616254 -0.63565661
## 4 D -1.11097662 1.15500095 -1.09598085 1.454273590 0.09618488
## 5 E -0.56756414 -0.02101821 -0.18379861 -0.889867372 1.24622151
## initial_tannin
## 1 1.40358281
## 2 0.46266692
## 3 0.03715719
## 4 -0.91274834
## 5 -0.99065858
## 1 2 3 4
## 2 2.996090
## 3 3.078843 2.513513
## 4 4.751399 2.371378 3.197562
## 5 3.945550 1.934939 2.907352 3.006451
## 1 2 3 4 5
## 1 0.000000 2.996090 3.078843 4.751399 3.945550
## 2 2.996090 0.000000 2.513513 2.371378 1.934939
## 3 3.078843 2.513513 0.000000 3.197562 2.907352
## 4 4.751399 2.371378 3.197562 0.000000 3.006451
## 5 3.945550 1.934939 2.907352 3.006451 0.000000
## A B C D E
## A 0.000000 2.996090 3.078843 4.751399 3.945550
## B 2.996090 0.000000 2.513513 2.371378 1.934939
## C 3.078843 2.513513 0.000000 3.197562 2.907352
## D 4.751399 2.371378 3.197562 0.000000 3.006451
## E 3.945550 1.934939 2.907352 3.006451 0.000000
## [1] 2.99609
trait$initial_CN<-trait$initial_C/trait$initial_NFor ,mixture with more than two species, we calculated the euclidean distance as as the sum of distance between all pairs of the component species divided by the total number of pairs included in the mixture (Hitenschwiler and Jergensen, 2010).
## Subset matrix for three species
###3 species abc
mat_abc<-trait_dis_mat[c("A","B","C"),c("A","B","C")]
mat_abc
###3 species abd
mat_abd<-trait_dis_mat[c("A","B","D"),c("A","B","D")]
mat_abd
###3 species abe
mat_abe<-trait_dis_mat[c("A","B","E"),c("A","B","E")]
mat_abe
###3 species acd
mat_acd<-trait_dis_mat[c("A","C","D"),c("A","C","D")]
mat_acd
###3 species ace
mat_ace<-trait_dis_mat[c("A","C","E"),c("A","C","E")]
mat_ace
###3 species ade
mat_ade<-trait_dis_mat[c("A","D","E"),c("A","D","E")]
mat_ade
###3 species bcd
mat_bcd<-trait_dis_mat[c("B","C","D"),c("B","C","D")]
mat_bcd
###3 species bce
mat_bce<-trait_dis_mat[c("B","C","E"),c("B","C","E")]
mat_bce
###3 species bde
mat_bde<-trait_dis_mat[c("B","D","E"),c("B","D","E")]
mat_bde
###3 species cde
mat_cde<-trait_dis_mat[c("C","D","E"),c("C","D","E")]
mat_cde
## Subset matrix for four species mixture
###4 species abcd
mat_abcd<-trait_dis_mat[c("A","B","C","D"),c("A","B","C","D")]
mat_abcd
###4 species abce
mat_abce<-trait_dis_mat[c("A","B","C","E"),c("A","B","C","E")]
mat_abce
###4 species abde
mat_abde<-trait_dis_mat[c("A","B","D","E"),c("A","B","D","E")]
mat_abde
###4 species acde
mat_acde<-trait_dis_mat[c("A","C","D","E"),c("A","C","D","E")]
mat_acde
###4 species bcde
mat_bcde<-trait_dis_mat[c("B","C","D","E"),c("B","C","D","E")]
mat_bcde
## Subset matrix for five species mixture
###4 species abcde
mat_abcde<-trait_dis_mat[c("A","B","C","D","E"),c("A","B","C","D","E")]
mat_abcde
# Calculate dissimilarity distance
### Use sum(mat[lower.tri(mat)])/length(lower.tri(mat))
###3 species abc
mat_abc
dis_abc<-sum(mat_abc[lower.tri(mat_abc)])/length(mat_abc[lower.tri(mat_abc)])
###3 species abd
mat_abd
dis_abd<-sum(mat_abd[lower.tri(mat_abd)])/length(mat_abd[lower.tri(mat_abd)])
###3 species abe
mat_abe
dis_abe<-sum(mat_abe[lower.tri(mat_abe)])/length(mat_abe[lower.tri(mat_abe)])
###3 species acd
mat_acd
dis_acd<-sum(mat_acd[lower.tri(mat_acd)])/length(mat_acd[lower.tri(mat_acd)])
###3 species ace
mat_ace
dis_ace<-sum(mat_ace[lower.tri(mat_ace)])/length(mat_ace[lower.tri(mat_ace)])
###3 species ade
mat_ade
dis_ade<-sum(mat_ade[lower.tri(mat_ade)])/length(mat_ade[lower.tri(mat_ade)])
###3 species bcd
mat_bcd
dis_bcd<-sum(mat_bcd[lower.tri(mat_bcd)])/length(mat_bcd[lower.tri(mat_bcd)])
###3 species bce
mat_bce
dis_bce<-sum(mat_bce[lower.tri(mat_bce)])/length(mat_bce[lower.tri(mat_bce)])
###3 species bde
mat_bde
dis_bde<-sum(mat_bde[lower.tri(mat_bde)])/length(mat_bde[lower.tri(mat_bde)])
###3 species cde
mat_cde
dis_cde<-sum(mat_cde[lower.tri(mat_cde)])/length(mat_cde[lower.tri(mat_cde)])
## Subset matrix for four species mixture
###4 species abcd
mat_abcd
dis_abcd<-sum(mat_abcd[lower.tri(mat_abcd)])/length(mat_abcd[lower.tri(mat_abcd)])
###4 species abce
mat_abce
dis_abce<-sum(mat_abce[lower.tri(mat_abce)])/length(mat_abce[lower.tri(mat_abce)])
###4 species abde
mat_abde
dis_abde<-sum(mat_abde[lower.tri(mat_abde)])/length(mat_abde[lower.tri(mat_abde)])
###4 species acde
mat_acde
dis_acde<-sum(mat_acde[lower.tri(mat_acde)])/length(mat_acde[lower.tri(mat_acde)])
###4 species bcde
mat_bcde
dis_bcde<-sum(mat_bcde[lower.tri(mat_bcde)])/length(mat_bcde[lower.tri(mat_bcde)])
## Subset matrix for five species mixture
###5 species abcde
mat_abcde
dis_abcde<-sum(mat_abcde[lower.tri(mat_abcde)])/length(mat_abcde[lower.tri(mat_abcde)])
#dis_abc, dis_abd,dis_abe, dis_acd, dis_ace,dis_ade, dis_bcd, dis_bcd,
#dis_bde, dis_cde, dis_abcd, dis_abce, dis_abde,dis_acde, dis_bcde,
#dis_abcde
### Construct a data frame that contains dissimilarity index
## For the single species A, B, C, D, E, we will put dissimilarity equal NA
trait_dis_dat<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), trait_dissimilarity=c(rep(NA,5), trait_dis_mat["A","B"],trait_dis_mat["A","C"],trait_dis_mat["A","D"],trait_dis_mat["A","E"],trait_dis_mat["B","C"],trait_dis_mat["B","D"],trait_dis_mat["B","E"],trait_dis_mat["C","D"],trait_dis_mat["C","E"],trait_dis_mat["D","E"],dis_abc, dis_abd,dis_abe, dis_acd, dis_ace,dis_ade, dis_bcd, dis_bce, dis_bde, dis_cde, dis_abcd, dis_abce, dis_abde,dis_acde, dis_bcde,dis_abcde ))
trait_dis_dat## A B C
## A 0.000000 2.996090 3.078843
## B 2.996090 0.000000 2.513513
## C 3.078843 2.513513 0.000000
## A B D
## A 0.000000 2.996090 4.751399
## B 2.996090 0.000000 2.371378
## D 4.751399 2.371378 0.000000
## A B E
## A 0.00000 2.996090 3.945550
## B 2.99609 0.000000 1.934939
## E 3.94555 1.934939 0.000000
## A C D
## A 0.000000 3.078843 4.751399
## C 3.078843 0.000000 3.197562
## D 4.751399 3.197562 0.000000
## A C E
## A 0.000000 3.078843 3.945550
## C 3.078843 0.000000 2.907352
## E 3.945550 2.907352 0.000000
## A D E
## A 0.000000 4.751399 3.945550
## D 4.751399 0.000000 3.006451
## E 3.945550 3.006451 0.000000
## B C D
## B 0.000000 2.513513 2.371378
## C 2.513513 0.000000 3.197562
## D 2.371378 3.197562 0.000000
## B C E
## B 0.000000 2.513513 1.934939
## C 2.513513 0.000000 2.907352
## E 1.934939 2.907352 0.000000
## B D E
## B 0.000000 2.371378 1.934939
## D 2.371378 0.000000 3.006451
## E 1.934939 3.006451 0.000000
## C D E
## C 0.000000 3.197562 2.907352
## D 3.197562 0.000000 3.006451
## E 2.907352 3.006451 0.000000
## A B C D
## A 0.000000 2.996090 3.078843 4.751399
## B 2.996090 0.000000 2.513513 2.371378
## C 3.078843 2.513513 0.000000 3.197562
## D 4.751399 2.371378 3.197562 0.000000
## A B C E
## A 0.000000 2.996090 3.078843 3.945550
## B 2.996090 0.000000 2.513513 1.934939
## C 3.078843 2.513513 0.000000 2.907352
## E 3.945550 1.934939 2.907352 0.000000
## A B D E
## A 0.000000 2.996090 4.751399 3.945550
## B 2.996090 0.000000 2.371378 1.934939
## D 4.751399 2.371378 0.000000 3.006451
## E 3.945550 1.934939 3.006451 0.000000
## A C D E
## A 0.000000 3.078843 4.751399 3.945550
## C 3.078843 0.000000 3.197562 2.907352
## D 4.751399 3.197562 0.000000 3.006451
## E 3.945550 2.907352 3.006451 0.000000
## B C D E
## B 0.000000 2.513513 2.371378 1.934939
## C 2.513513 0.000000 3.197562 2.907352
## D 2.371378 3.197562 0.000000 3.006451
## E 1.934939 2.907352 3.006451 0.000000
## A B C D E
## A 0.000000 2.996090 3.078843 4.751399 3.945550
## B 2.996090 0.000000 2.513513 2.371378 1.934939
## C 3.078843 2.513513 0.000000 3.197562 2.907352
## D 4.751399 2.371378 3.197562 0.000000 3.006451
## E 3.945550 1.934939 2.907352 3.006451 0.000000
## A B C
## A 0.000000 2.996090 3.078843
## B 2.996090 0.000000 2.513513
## C 3.078843 2.513513 0.000000
## A B D
## A 0.000000 2.996090 4.751399
## B 2.996090 0.000000 2.371378
## D 4.751399 2.371378 0.000000
## A B E
## A 0.00000 2.996090 3.945550
## B 2.99609 0.000000 1.934939
## E 3.94555 1.934939 0.000000
## A C D
## A 0.000000 3.078843 4.751399
## C 3.078843 0.000000 3.197562
## D 4.751399 3.197562 0.000000
## A C E
## A 0.000000 3.078843 3.945550
## C 3.078843 0.000000 2.907352
## E 3.945550 2.907352 0.000000
## A D E
## A 0.000000 4.751399 3.945550
## D 4.751399 0.000000 3.006451
## E 3.945550 3.006451 0.000000
## B C D
## B 0.000000 2.513513 2.371378
## C 2.513513 0.000000 3.197562
## D 2.371378 3.197562 0.000000
## B C E
## B 0.000000 2.513513 1.934939
## C 2.513513 0.000000 2.907352
## E 1.934939 2.907352 0.000000
## B D E
## B 0.000000 2.371378 1.934939
## D 2.371378 0.000000 3.006451
## E 1.934939 3.006451 0.000000
## C D E
## C 0.000000 3.197562 2.907352
## D 3.197562 0.000000 3.006451
## E 2.907352 3.006451 0.000000
## A B C D
## A 0.000000 2.996090 3.078843 4.751399
## B 2.996090 0.000000 2.513513 2.371378
## C 3.078843 2.513513 0.000000 3.197562
## D 4.751399 2.371378 3.197562 0.000000
## A B C E
## A 0.000000 2.996090 3.078843 3.945550
## B 2.996090 0.000000 2.513513 1.934939
## C 3.078843 2.513513 0.000000 2.907352
## E 3.945550 1.934939 2.907352 0.000000
## A B D E
## A 0.000000 2.996090 4.751399 3.945550
## B 2.996090 0.000000 2.371378 1.934939
## D 4.751399 2.371378 0.000000 3.006451
## E 3.945550 1.934939 3.006451 0.000000
## A C D E
## A 0.000000 3.078843 4.751399 3.945550
## C 3.078843 0.000000 3.197562 2.907352
## D 4.751399 3.197562 0.000000 3.006451
## E 3.945550 2.907352 3.006451 0.000000
## B C D E
## B 0.000000 2.513513 2.371378 1.934939
## C 2.513513 0.000000 3.197562 2.907352
## D 2.371378 3.197562 0.000000 3.006451
## E 1.934939 2.907352 3.006451 0.000000
## A B C D E
## A 0.000000 2.996090 3.078843 4.751399 3.945550
## B 2.996090 0.000000 2.513513 2.371378 1.934939
## C 3.078843 2.513513 0.000000 3.197562 2.907352
## D 4.751399 2.371378 3.197562 0.000000 3.006451
## E 3.945550 1.934939 2.907352 3.006451 0.000000
## item trait_dissimilarity
## 1 A NA
## 2 B NA
## 3 C NA
## 4 D NA
## 5 E NA
## 6 AB 2.996090
## 7 AC 3.078843
## 8 AD 4.751399
## 9 AE 3.945550
## 10 BC 2.513513
## 11 BD 2.371378
## 12 BE 1.934939
## 13 CD 3.197562
## 14 CE 2.907352
## 15 DE 3.006451
## 16 ABC 2.862815
## 17 ABD 3.372955
## 18 ABE 2.958860
## 19 ACD 3.675934
## 20 ACE 3.310582
## 21 ADE 3.901133
## 22 BCD 2.694151
## 23 BCE 2.451935
## 24 BDE 2.437589
## 25 CDE 3.037122
## 26 ABCD 3.151464
## 27 ABCE 2.896048
## 28 ABDE 3.167634
## 29 ACDE 3.481193
## 30 BCDE 2.655199
## 31 ABCDE 3.070308
Now we need to merge litter data with trait-dis_dat by x= code and y= item
dim(litter)
dim(trait_dis_dat)
litter_trait_dis<-merge(litter, trait_dis_dat, by.x="code", by.y="item")
dim(litter_trait_dis)
head(litter_trait_dis[1:6,])
summary(litter_trait_dis)
#write.csv(litter_trait_dis, file="litter_trait_dis.csv")## [1] 2790 28
## [1] 31 2
## [1] 2790 29
## code id species prop_slow_decomp prop_gymn No_species species_richness
## 1 A 1 Kp 0 0 1 1
## 2 A 1 Kp 0 0 1 1
## 3 A 1 Kp 0 0 1 1
## 4 A 1 Kp 0 0 1 1
## 5 A 1 Kp 0 0 1 1
## 6 A 1 Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
## trait_dissimilarity
## 1 NA
## 2 NA
## 3 NA
## 4 NA
## 5 NA
## 6 NA
## code id species prop_slow_decomp
## Length:2790 Min. : 1 Length:2790 Min. :0.0000
## Class :character 1st Qu.: 8 Class :character 1st Qu.:0.2500
## Mode :character Median :16 Mode :character Median :0.4000
## Mean :16 Mean :0.4001
## 3rd Qu.:24 3rd Qu.:0.5000
## Max. :31 Max. :1.0000
##
## prop_gymn No_species species_richness mesh_size
## Min. :0.0000 Min. :1.000 Min. :1.000 Length:2790
## 1st Qu.:0.2500 1st Qu.:2.000 1st Qu.:2.000 Class :character
## Median :0.4000 Median :3.000 Median :3.000 Mode :character
## Mean :0.3996 Mean :2.581 Mean :2.581
## 3rd Qu.:0.5000 3rd Qu.:3.000 3rd Qu.:3.000
## Max. :1.0000 Max. :5.000 Max. :5.000
##
## size_mesh Time Time_month initial.weight
## Length:2790 Min. : 0.000 Length:2790 Min. :4.645
## Class :character 1st Qu.: 1.000 Class :character 1st Qu.:9.355
## Mode :character Median : 4.500 Mode :character Median :9.425
## Mean : 5.833 Mean :9.285
## 3rd Qu.: 9.000 3rd Qu.:9.485
## Max. :16.000 Max. :9.645
##
## plot f_weight_with_envelope Envelope_weight
## Length:2790 Length:2790 Length:2790
## Class :character Class :character Class :character
## Mode :character Mode :character Mode :character
##
##
##
##
## f_weight mass_loss_g percent_ml percent_eml
## Length:2790 Length:2790 Length:2790 Length:2790
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## remaining_mass perc_mass mass_loss_prop fast_species
## Length:2790 Length:2790 Length:2790 Min. :0.0000
## Class :character Class :character Class :character 1st Qu.:0.0000
## Mode :character Mode :character Mode :character Median :0.0000
## Mean :0.2276
## 3rd Qu.:0.0000
## Max. :1.0000
##
## slow_species mixture litter_type
## Min. :0.00000 Min. :0.0000 Length:2790
## 1st Qu.:0.00000 1st Qu.:0.0000 Class :character
## Median :0.00000 Median :1.0000 Mode :character
## Mean :0.09677 Mean :0.6756
## 3rd Qu.:0.00000 3rd Qu.:1.0000
## Max. :1.00000 Max. :1.0000
##
## expected_mass_loss_0.07mm plot_harvest trait_dissimilarity
## Min. :-1.183 R1_0 : 93 Min. :1.935
## 1st Qu.:10.552 R1_1 : 93 1st Qu.:2.694
## Median :17.666 R1_16 : 93 Median :3.022
## Mean :21.391 R1_3 : 93 Mean :3.070
## 3rd Qu.:29.468 R1_6 : 93 3rd Qu.:3.311
## Max. :72.836 R1_9 : 93 Max. :4.751
## NA's :588 (Other):2232 NA's :450
We need to rename…
The mean nutrient concentration in mixture is the sum of the individual constituents of the mixture divide by the number of constituents. Nitrogen
trait
head(trait)
row.names(trait)<-trait$species
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
N_con_ab<-trait[c("A","B"),"initial_N"]
N_con_ab
N_mean_ab<-mean(N_con_ab)
N_mean_ab
###2 species ac
N_con_ac<-trait[c("A","C"),"initial_N"]
N_con_ac
N_mean_ac<-mean(N_con_ac)
N_mean_ac
###2 species ad
N_con_ad<-trait[c("A","D"),"initial_N"]
N_con_ad
N_mean_ad<-mean(N_con_ad)
N_mean_ad
###2 species ae
N_con_ae<-trait[c("A","E"),"initial_N"]
N_con_ae
N_mean_ae<-mean(N_con_ae)
N_mean_ae
###2 species bc
N_con_bc<-trait[c("B","C"),"initial_N"]
N_con_bc
N_mean_bc<-mean(N_con_bc)
N_mean_bc
###2 species bd
N_con_bd<-trait[c("B","D"),"initial_N"]
N_con_bd
N_mean_bd<-mean(N_con_bd)
N_mean_bd
###2 species be
N_con_be<-trait[c("B","E"),"initial_N"]
N_con_be
N_mean_be<-mean(N_con_be)
N_mean_be
###2 species cd
N_con_cd<-trait[c("C","D"),"initial_N"]
N_con_cd
N_mean_cd<-mean(N_con_cd)
N_mean_cd
###2 species ce
N_con_ce<-trait[c("C","E"),"initial_N"]
N_con_ce
N_mean_ce<-mean(N_con_ce)
N_mean_ce
###2 species de
N_con_de<-trait[c("D","E"),"initial_N"]
N_con_de
N_mean_de<-mean(N_con_de)
N_mean_de
## Subset dataset for three species
###3 species abc
N_con_abc<-trait[c("A","B","C"),"initial_N"]
N_con_abc
N_mean_abc<-mean(N_con_abc)
N_mean_abc
###3 species abd
N_con_abd<-trait[c("A","B","D"),"initial_N"]
N_con_abd
N_mean_abd<-mean(N_con_abd)
N_mean_abd
###3 species abe
N_con_abe<-trait[c("A","B","E"),"initial_N"]
N_con_abe
N_mean_abe<-mean(N_con_abe)
N_mean_abe
###3 species acd
N_con_acd<-trait[c("A","C","D"),"initial_N"]
N_con_acd
N_mean_acd<-mean(N_con_acd)
N_mean_acd
###3 species ace
N_con_ace<-trait[c("A","C","E"),"initial_N"]
N_con_ace
N_mean_ace<-mean(N_con_ace)
N_mean_ace
###3 species ade
N_con_ade<-trait[c("A","D","E"),"initial_N"]
N_con_ade
N_mean_ade<-mean(N_con_ade)
N_mean_ade
###3 species bcd
N_con_bcd<-trait[c("B","C","D"),"initial_N"]
N_con_bcd
N_mean_bcd<-mean(N_con_bcd)
N_mean_bcd
###3 species bce
N_con_bce<-trait[c("B","C","E"),"initial_N"]
N_con_bce
N_mean_bce<-mean(N_con_bce)
N_mean_bce
###3 species bde
N_con_bde<-trait[c("B","D","E"),"initial_N"]
N_con_bde
N_mean_bde<-mean(N_con_bde)
N_mean_bde
###3 species cde
N_con_cde<-trait[c("C","D","E"),"initial_N"]
N_con_cde
N_mean_cde<-mean(N_con_cde)
N_mean_cde
## Subset N_con_rix for four species mixture
###4 species abcd
N_con_abcd<-trait[c("A","B","C","D"),"initial_N"]
N_con_abcd
N_mean_abcd<-mean(N_con_abcd)
N_mean_abcd
###4 species abce
N_con_abce<-trait[c("A","B","C","E"),"initial_N"]
N_con_abce
N_mean_abce<-mean(N_con_abce)
N_mean_abce
###4 species abde
N_con_abde<-trait[c("A","B","D","E"),"initial_N"]
N_con_abde
N_mean_abde<-mean(N_con_abde)
N_mean_abde
###4 species acde
N_con_acde<-trait[c("A","C","D","E"),"initial_N"]
N_con_acde
N_mean_acde<-mean(N_con_acde)
N_mean_acde
###4 species bcde
N_con_bcde<-trait[c("B","C","D","E"),"initial_N"]
N_con_bcde
N_mean_bcde<-mean(N_con_bcde)
N_mean_bcde
## Subset for five species mixture
###5 species abcde
N_con_abcde<-trait[c("A","B","C","D","E"),"initial_N"]
N_con_abcde
N_mean_abcde<-mean(N_con_abcde)
N_mean_abcde## species initial_N initial_C initial_P LDMC initial_lignin initial_tannin
## 1 A 1.10 45.57 2.5986 0.3801092 21.15 10.33
## 2 B 0.88 48.95 1.1558 0.5017838 34.70 7.19
## 3 C 0.83 40.55 0.9538 0.5517229 25.90 5.77
## 4 D 0.66 51.15 0.2728 0.6842406 31.15 2.60
## 5 E 0.75 46.45 1.0496 0.3896994 39.40 2.34
## initial_CN
## 1 41.42727
## 2 55.62500
## 3 48.85542
## 4 77.50000
## 5 61.93333
## species initial_N initial_C initial_P LDMC initial_lignin initial_tannin
## 1 A 1.10 45.57 2.5986 0.3801092 21.15 10.33
## 2 B 0.88 48.95 1.1558 0.5017838 34.70 7.19
## 3 C 0.83 40.55 0.9538 0.5517229 25.90 5.77
## 4 D 0.66 51.15 0.2728 0.6842406 31.15 2.60
## 5 E 0.75 46.45 1.0496 0.3896994 39.40 2.34
## initial_CN
## 1 41.42727
## 2 55.62500
## 3 48.85542
## 4 77.50000
## 5 61.93333
## [1] 1.10 0.88
## [1] 0.99
## [1] 1.10 0.83
## [1] 0.965
## [1] 1.10 0.66
## [1] 0.88
## [1] 1.10 0.75
## [1] 0.925
## [1] 0.88 0.83
## [1] 0.855
## [1] 0.88 0.66
## [1] 0.77
## [1] 0.88 0.75
## [1] 0.815
## [1] 0.83 0.66
## [1] 0.745
## [1] 0.83 0.75
## [1] 0.79
## [1] 0.66 0.75
## [1] 0.705
## [1] 1.10 0.88 0.83
## [1] 0.9366667
## [1] 1.10 0.88 0.66
## [1] 0.88
## [1] 1.10 0.88 0.75
## [1] 0.91
## [1] 1.10 0.83 0.66
## [1] 0.8633333
## [1] 1.10 0.83 0.75
## [1] 0.8933333
## [1] 1.10 0.66 0.75
## [1] 0.8366667
## [1] 0.88 0.83 0.66
## [1] 0.79
## [1] 0.88 0.83 0.75
## [1] 0.82
## [1] 0.88 0.66 0.75
## [1] 0.7633333
## [1] 0.83 0.66 0.75
## [1] 0.7466667
## [1] 1.10 0.88 0.83 0.66
## [1] 0.8675
## [1] 1.10 0.88 0.83 0.75
## [1] 0.89
## [1] 1.10 0.88 0.66 0.75
## [1] 0.8475
## [1] 1.10 0.83 0.66 0.75
## [1] 0.835
## [1] 0.88 0.83 0.66 0.75
## [1] 0.78
## [1] 1.10 0.88 0.83 0.66 0.75
## [1] 0.844
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_N<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), initial_N=c(trait[,"initial_N"], N_mean_ab,N_mean_ac,N_mean_ad,N_mean_ae,N_mean_bc,N_mean_bd,N_mean_be,N_mean_cd,N_mean_ce,N_mean_de,N_mean_abc, N_mean_abd,N_mean_abe, N_mean_acd, N_mean_ace, N_mean_ade, N_mean_bcd, N_mean_bce, N_mean_bde, N_mean_cde, N_mean_abcd, N_mean_abce, N_mean_abde, N_mean_acde, N_mean_bcde, N_mean_abcde ))
trait_mean_N## item initial_N
## 1 A 1.1000000
## 2 B 0.8800000
## 3 C 0.8300000
## 4 D 0.6600000
## 5 E 0.7500000
## 6 AB 0.9900000
## 7 AC 0.9650000
## 8 AD 0.8800000
## 9 AE 0.9250000
## 10 BC 0.8550000
## 11 BD 0.7700000
## 12 BE 0.8150000
## 13 CD 0.7450000
## 14 CE 0.7900000
## 15 DE 0.7050000
## 16 ABC 0.9366667
## 17 ABD 0.8800000
## 18 ABE 0.9100000
## 19 ACD 0.8633333
## 20 ACE 0.8933333
## 21 ADE 0.8366667
## 22 BCD 0.7900000
## 23 BCE 0.8200000
## 24 BDE 0.7633333
## 25 CDE 0.7466667
## 26 ABCD 0.8675000
## 27 ABCE 0.8900000
## 28 ABDE 0.8475000
## 29 ACDE 0.8350000
## 30 BCDE 0.7800000
## 31 ABCDE 0.8440000
Merge litter and trait_mean_N Now we need to merge litter data with trait_mean_N by x= code and y= item
litter_trait_N<-merge(litter, trait_mean_N, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_N)
#litter_trait_N$initial_N-litter_trait_N$initial_N
#write.csv(litter_trait_N, file="litter_trait_N.csv")## [1] 2790 28
## [1] 2790 29
Carbon
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
C_con_ab<-trait[c("A","B"),"initial_C"]
C_con_ab
C_mean_ab<-mean(C_con_ab)
C_mean_ab
###2 species ac
C_con_ac<-trait[c("A","C"),"initial_C"]
C_con_ac
C_mean_ac<-mean(C_con_ac)
C_mean_ac
###2 species ad
C_con_ad<-trait[c("A","D"),"initial_C"]
C_con_ad
C_mean_ad<-mean(C_con_ad)
C_mean_ad
###2 species ae
C_con_ae<-trait[c("A","E"),"initial_C"]
C_con_ae
C_mean_ae<-mean(C_con_ae)
C_mean_ae
###2 species bc
C_con_bc<-trait[c("B","C"),"initial_C"]
C_con_bc
C_mean_bc<-mean(C_con_bc)
C_mean_bc
###2 species bd
C_con_bd<-trait[c("B","D"),"initial_C"]
C_con_bd
C_mean_bd<-mean(C_con_bd)
C_mean_bd
###2 species be
C_con_be<-trait[c("B","E"),"initial_C"]
C_con_be
C_mean_be<-mean(C_con_be)
C_mean_be
###2 species cd
C_con_cd<-trait[c("C","D"),"initial_C"]
C_con_cd
C_mean_cd<-mean(C_con_cd)
C_mean_cd
###2 species ce
C_con_ce<-trait[c("C","E"),"initial_C"]
C_con_ce
C_mean_ce<-mean(C_con_ce)
C_mean_ce
###2 species de
C_con_de<-trait[c("D","E"),"initial_C"]
C_con_de
C_mean_de<-mean(C_con_de)
C_mean_de
###3 species abc
C_con_abc<-trait[c("A","B","C"),"initial_C"]
C_con_abc
C_mean_abc<-mean(C_con_abc)
C_mean_abc
###3 species abd
C_con_abd<-trait[c("A","B","D"),"initial_C"]
C_con_abd
C_mean_abd<-mean(C_con_abd)
C_mean_abd
###3 species abe
C_con_abe<-trait[c("A","B","E"),"initial_C"]
C_con_abe
C_mean_abe<-mean(C_con_abe)
C_mean_abe
###3 species acd
C_con_acd<-trait[c("A","C","D"),"initial_C"]
C_con_acd
C_mean_acd<-mean(C_con_acd)
C_mean_acd
###3 species ace
C_con_ace<-trait[c("A","C","E"),"initial_C"]
C_con_ace
C_mean_ace<-mean(C_con_ace)
C_mean_ace
###3 species ade
C_con_ade<-trait[c("A","D","E"),"initial_C"]
C_con_ade
C_mean_ade<-mean(C_con_ade)
C_mean_ade
###3 species bcd
C_con_bcd<-trait[c("B","C","D"),"initial_C"]
C_con_bcd
C_mean_bcd<-mean(C_con_bcd)
C_mean_bcd
###3 species bce
C_con_bce<-trait[c("B","C","E"),"initial_C"]
C_con_bce
C_mean_bce<-mean(C_con_bce)
C_mean_bce
###3 species bde
C_con_bde<-trait[c("B","D","E"),"initial_C"]
C_con_bde
C_mean_bde<-mean(C_con_bde)
C_mean_bde
###3 species cde
C_con_cde<-trait[c("C","D","E"),"initial_C"]
C_con_cde
C_mean_cde<-mean(C_con_cde)
C_mean_cde
## Subset C_con_rix for four species mixture
###4 species abcd
C_con_abcd<-trait[c("A","B","C","D"),"initial_C"]
C_con_abcd
C_mean_abcd<-mean(C_con_abcd)
C_mean_abcd
###4 species abce
C_con_abce<-trait[c("A","B","C","E"),"initial_C"]
C_con_abce
C_mean_abce<-mean(C_con_abce)
C_mean_abce
###4 species abde
C_con_abde<-trait[c("A","B","D","E"),"initial_C"]
C_con_abde
C_mean_abde<-mean(C_con_abde)
C_mean_abde
###4 species acde
C_con_acde<-trait[c("A","C","D","E"),"initial_C"]
C_con_acde
C_mean_acde<-mean(C_con_acde)
C_mean_acde
###4 species bcde
C_con_bcde<-trait[c("B","C","D","E"),"initial_C"]
C_con_bcde
C_mean_bcde<-mean(C_con_bcde)
C_mean_bcde
## Subset for five species mixture
###5 species abcde
C_con_abcde<-trait[c("A","B","C","D","E"),"initial_C"]
C_con_abcde
C_mean_abcde<-mean(C_con_abcde)
C_mean_abcde## [1] 45.57 48.95
## [1] 47.26
## [1] 45.57 40.55
## [1] 43.06
## [1] 45.57 51.15
## [1] 48.36
## [1] 45.57 46.45
## [1] 46.01
## [1] 48.95 40.55
## [1] 44.75
## [1] 48.95 51.15
## [1] 50.05
## [1] 48.95 46.45
## [1] 47.7
## [1] 40.55 51.15
## [1] 45.85
## [1] 40.55 46.45
## [1] 43.5
## [1] 51.15 46.45
## [1] 48.8
## [1] 45.57 48.95 40.55
## [1] 45.02333
## [1] 45.57 48.95 51.15
## [1] 48.55667
## [1] 45.57 48.95 46.45
## [1] 46.99
## [1] 45.57 40.55 51.15
## [1] 45.75667
## [1] 45.57 40.55 46.45
## [1] 44.19
## [1] 45.57 51.15 46.45
## [1] 47.72333
## [1] 48.95 40.55 51.15
## [1] 46.88333
## [1] 48.95 40.55 46.45
## [1] 45.31667
## [1] 48.95 51.15 46.45
## [1] 48.85
## [1] 40.55 51.15 46.45
## [1] 46.05
## [1] 45.57 48.95 40.55 51.15
## [1] 46.555
## [1] 45.57 48.95 40.55 46.45
## [1] 45.38
## [1] 45.57 48.95 51.15 46.45
## [1] 48.03
## [1] 45.57 40.55 51.15 46.45
## [1] 45.93
## [1] 48.95 40.55 51.15 46.45
## [1] 46.775
## [1] 45.57 48.95 40.55 51.15 46.45
## [1] 46.534
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_C<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), initial_C=c(trait[,"initial_C"], C_mean_ab,C_mean_ac,C_mean_ad,C_mean_ae,C_mean_bc,C_mean_bd,C_mean_be,C_mean_cd,C_mean_ce,C_mean_de,C_mean_abc, C_mean_abd,C_mean_abe, C_mean_acd, C_mean_ace, C_mean_ade, C_mean_bcd, C_mean_bce, C_mean_bde, C_mean_cde, C_mean_abcd, C_mean_abce, C_mean_abde, C_mean_acde, C_mean_bcde, C_mean_abcde ))
trait_mean_C## item initial_C
## 1 A 45.57000
## 2 B 48.95000
## 3 C 40.55000
## 4 D 51.15000
## 5 E 46.45000
## 6 AB 47.26000
## 7 AC 43.06000
## 8 AD 48.36000
## 9 AE 46.01000
## 10 BC 44.75000
## 11 BD 50.05000
## 12 BE 47.70000
## 13 CD 45.85000
## 14 CE 43.50000
## 15 DE 48.80000
## 16 ABC 45.02333
## 17 ABD 48.55667
## 18 ABE 46.99000
## 19 ACD 45.75667
## 20 ACE 44.19000
## 21 ADE 47.72333
## 22 BCD 46.88333
## 23 BCE 45.31667
## 24 BDE 48.85000
## 25 CDE 46.05000
## 26 ABCD 46.55500
## 27 ABCE 45.38000
## 28 ABDE 48.03000
## 29 ACDE 45.93000
## 30 BCDE 46.77500
## 31 ABCDE 46.53400
Merge litter and trait_mean_C Now we need to merge litter data with trait_mean_C by x= code and y= item
litter_trait_C<-merge(litter, trait_mean_C, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_C)
#litter_trait_C$initial_C.x-litter_trait_C$initial_C.y
#write.csv(litter_trait_C, file="litter_trait_C.csv")## [1] 2790 28
## [1] 2790 29
Phosphorus
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
P_con_ab<-trait[c("A","B"),"initial_P"]
P_con_ab
P_mean_ab<-mean(P_con_ab)
P_mean_ab
###2 species ac
P_con_ac<-trait[c("A","C"),"initial_P"]
P_con_ac
P_mean_ac<-mean(P_con_ac)
P_mean_ac
###2 species ad
P_con_ad<-trait[c("A","D"),"initial_P"]
P_con_ad
P_mean_ad<-mean(P_con_ad)
P_mean_ad
###2 species ae
P_con_ae<-trait[c("A","E"),"initial_P"]
P_con_ae
P_mean_ae<-mean(P_con_ae)
P_mean_ae
###2 species bc
P_con_bc<-trait[c("B","C"),"initial_P"]
P_con_bc
P_mean_bc<-mean(P_con_bc)
P_mean_bc
###2 species bd
P_con_bd<-trait[c("B","D"),"initial_P"]
P_con_bd
P_mean_bd<-mean(P_con_bd)
P_mean_bd
###2 species be
P_con_be<-trait[c("B","E"),"initial_P"]
P_con_be
P_mean_be<-mean(P_con_be)
P_mean_be
###2 species cd
P_con_cd<-trait[c("C","D"),"initial_P"]
P_con_cd
P_mean_cd<-mean(P_con_cd)
P_mean_cd
###2 species ce
P_con_ce<-trait[c("C","E"),"initial_P"]
P_con_ce
P_mean_ce<-mean(P_con_ce)
P_mean_ce
###2 species de
P_con_de<-trait[c("D","E"),"initial_P"]
P_con_de
P_mean_de<-mean(P_con_de)
P_mean_de
###3 species abc
P_con_abc<-trait[c("A","B","C"),"initial_P"]
P_con_abc
P_mean_abc<-mean(P_con_abc)
P_mean_abc
###3 species abd
P_con_abd<-trait[c("A","B","D"),"initial_P"]
P_con_abd
P_mean_abd<-mean(P_con_abd)
P_mean_abd
###3 species abe
P_con_abe<-trait[c("A","B","E"),"initial_P"]
P_con_abe
P_mean_abe<-mean(P_con_abe)
P_mean_abe
###3 species acd
P_con_acd<-trait[c("A","C","D"),"initial_P"]
P_con_acd
P_mean_acd<-mean(P_con_acd)
P_mean_acd
###3 species ace
P_con_ace<-trait[c("A","C","E"),"initial_P"]
P_con_ace
P_mean_ace<-mean(P_con_ace)
P_mean_ace
###3 species ade
P_con_ade<-trait[c("A","D","E"),"initial_P"]
P_con_ade
P_mean_ade<-mean(P_con_ade)
P_mean_ade
###3 species bcd
P_con_bcd<-trait[c("B","C","D"),"initial_P"]
P_con_bcd
P_mean_bcd<-mean(P_con_bcd)
P_mean_bcd
###3 species bce
P_con_bce<-trait[c("B","C","E"),"initial_P"]
P_con_bce
P_mean_bce<-mean(P_con_bce)
P_mean_bce
###3 species bde
P_con_bde<-trait[c("B","D","E"),"initial_P"]
P_con_bde
P_mean_bde<-mean(P_con_bde)
P_mean_bde
###3 species cde
P_con_cde<-trait[c("C","D","E"),"initial_P"]
P_con_cde
P_mean_cde<-mean(P_con_cde)
P_mean_cde
## Subset P_con_rix for four species mixture
###4 species abcd
P_con_abcd<-trait[c("A","B","C","D"),"initial_P"]
P_con_abcd
P_mean_abcd<-mean(P_con_abcd)
P_mean_abcd
###4 species abce
P_con_abce<-trait[c("A","B","C","E"),"initial_P"]
P_con_abce
P_mean_abce<-mean(P_con_abce)
P_mean_abce
###4 species abde
P_con_abde<-trait[c("A","B","D","E"),"initial_P"]
P_con_abde
P_mean_abde<-mean(P_con_abde)
P_mean_abde
###4 species acde
P_con_acde<-trait[c("A","C","D","E"),"initial_P"]
P_con_acde
P_mean_acde<-mean(P_con_acde)
P_mean_acde
###4 species bcde
P_con_bcde<-trait[c("B","C","D","E"),"initial_P"]
P_con_bcde
P_mean_bcde<-mean(P_con_bcde)
P_mean_bcde
## Subset for five species mixture
###5 species abcde
P_con_abcde<-trait[c("A","B","C","D","E"),"initial_P"]
P_con_abcde
P_mean_abcde<-mean(P_con_abcde)
P_mean_abcde## [1] 2.5986 1.1558
## [1] 1.8772
## [1] 2.5986 0.9538
## [1] 1.7762
## [1] 2.5986 0.2728
## [1] 1.4357
## [1] 2.5986 1.0496
## [1] 1.8241
## [1] 1.1558 0.9538
## [1] 1.0548
## [1] 1.1558 0.2728
## [1] 0.7143
## [1] 1.1558 1.0496
## [1] 1.1027
## [1] 0.9538 0.2728
## [1] 0.6133
## [1] 0.9538 1.0496
## [1] 1.0017
## [1] 0.2728 1.0496
## [1] 0.6612
## [1] 2.5986 1.1558 0.9538
## [1] 1.5694
## [1] 2.5986 1.1558 0.2728
## [1] 1.3424
## [1] 2.5986 1.1558 1.0496
## [1] 1.601333
## [1] 2.5986 0.9538 0.2728
## [1] 1.275067
## [1] 2.5986 0.9538 1.0496
## [1] 1.534
## [1] 2.5986 0.2728 1.0496
## [1] 1.307
## [1] 1.1558 0.9538 0.2728
## [1] 0.7941333
## [1] 1.1558 0.9538 1.0496
## [1] 1.053067
## [1] 1.1558 0.2728 1.0496
## [1] 0.8260667
## [1] 0.9538 0.2728 1.0496
## [1] 0.7587333
## [1] 2.5986 1.1558 0.9538 0.2728
## [1] 1.24525
## [1] 2.5986 1.1558 0.9538 1.0496
## [1] 1.43945
## [1] 2.5986 1.1558 0.2728 1.0496
## [1] 1.2692
## [1] 2.5986 0.9538 0.2728 1.0496
## [1] 1.2187
## [1] 1.1558 0.9538 0.2728 1.0496
## [1] 0.858
## [1] 2.5986 1.1558 0.9538 0.2728 1.0496
## [1] 1.20612
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_P<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), initial_P=c(trait[,"initial_P"], P_mean_ab,P_mean_ac,P_mean_ad,P_mean_ae,P_mean_bc,P_mean_bd,P_mean_be,P_mean_cd,P_mean_ce,P_mean_de,P_mean_abc, P_mean_abd,P_mean_abe, P_mean_acd, P_mean_ace, P_mean_ade, P_mean_bcd, P_mean_bce, P_mean_bde, P_mean_cde, P_mean_abcd, P_mean_abce, P_mean_abde, P_mean_acde, P_mean_bcde, P_mean_abcde ))
trait_mean_P## item initial_P
## 1 A 2.5986000
## 2 B 1.1558000
## 3 C 0.9538000
## 4 D 0.2728000
## 5 E 1.0496000
## 6 AB 1.8772000
## 7 AC 1.7762000
## 8 AD 1.4357000
## 9 AE 1.8241000
## 10 BC 1.0548000
## 11 BD 0.7143000
## 12 BE 1.1027000
## 13 CD 0.6133000
## 14 CE 1.0017000
## 15 DE 0.6612000
## 16 ABC 1.5694000
## 17 ABD 1.3424000
## 18 ABE 1.6013333
## 19 ACD 1.2750667
## 20 ACE 1.5340000
## 21 ADE 1.3070000
## 22 BCD 0.7941333
## 23 BCE 1.0530667
## 24 BDE 0.8260667
## 25 CDE 0.7587333
## 26 ABCD 1.2452500
## 27 ABCE 1.4394500
## 28 ABDE 1.2692000
## 29 ACDE 1.2187000
## 30 BCDE 0.8580000
## 31 ABCDE 1.2061200
Merge litter and trait_mean_P Now we need to merge litter data with trait_mean_P by x= code and y= item
litter_trait_P<-merge(litter, trait_mean_P, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_P)
#litter_trait_P$initial_P.x-litter_trait_P$initial_P.y
#write.csv(litter_trait_P, file="litter_trait_P.csv")## [1] 2790 28
## [1] 2790 29
LDMC
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
LDMC_con_ab<-trait[c("A","B"),"LDMC"]
LDMC_con_ab
LDMC_mean_ab<-mean(LDMC_con_ab)
LDMC_mean_ab
###2 species ac
LDMC_con_ac<-trait[c("A","C"),"LDMC"]
LDMC_con_ac
LDMC_mean_ac<-mean(LDMC_con_ac)
LDMC_mean_ac
###2 species ad
LDMC_con_ad<-trait[c("A","D"),"LDMC"]
LDMC_con_ad
LDMC_mean_ad<-mean(LDMC_con_ad)
LDMC_mean_ad
###2 species ae
LDMC_con_ae<-trait[c("A","E"),"LDMC"]
LDMC_con_ae
LDMC_mean_ae<-mean(LDMC_con_ae)
LDMC_mean_ae
###2 species bc
LDMC_con_bc<-trait[c("B","C"),"LDMC"]
LDMC_con_bc
LDMC_mean_bc<-mean(LDMC_con_bc)
LDMC_mean_bc
###2 species bd
LDMC_con_bd<-trait[c("B","D"),"LDMC"]
LDMC_con_bd
LDMC_mean_bd<-mean(LDMC_con_bd)
LDMC_mean_bd
###2 species be
LDMC_con_be<-trait[c("B","E"),"LDMC"]
LDMC_con_be
LDMC_mean_be<-mean(LDMC_con_be)
LDMC_mean_be
###2 species cd
LDMC_con_cd<-trait[c("C","D"),"LDMC"]
LDMC_con_cd
LDMC_mean_cd<-mean(LDMC_con_cd)
LDMC_mean_cd
###2 species ce
LDMC_con_ce<-trait[c("C","E"),"LDMC"]
LDMC_con_ce
LDMC_mean_ce<-mean(LDMC_con_ce)
LDMC_mean_ce
###2 species de
LDMC_con_de<-trait[c("D","E"),"LDMC"]
LDMC_con_de
LDMC_mean_de<-mean(LDMC_con_de)
LDMC_mean_de
###3 species abc
LDMC_con_abc<-trait[c("A","B","C"),"LDMC"]
LDMC_con_abc
LDMC_mean_abc<-mean(LDMC_con_abc)
LDMC_mean_abc
###3 species abd
LDMC_con_abd<-trait[c("A","B","D"),"LDMC"]
LDMC_con_abd
LDMC_mean_abd<-mean(LDMC_con_abd)
LDMC_mean_abd
###3 species abe
LDMC_con_abe<-trait[c("A","B","E"),"LDMC"]
LDMC_con_abe
LDMC_mean_abe<-mean(LDMC_con_abe)
LDMC_mean_abe
###3 species acd
LDMC_con_acd<-trait[c("A","C","D"),"LDMC"]
LDMC_con_acd
LDMC_mean_acd<-mean(LDMC_con_acd)
LDMC_mean_acd
###3 species ace
LDMC_con_ace<-trait[c("A","C","E"),"LDMC"]
LDMC_con_ace
LDMC_mean_ace<-mean(LDMC_con_ace)
LDMC_mean_ace
###3 species ade
LDMC_con_ade<-trait[c("A","D","E"),"LDMC"]
LDMC_con_ade
LDMC_mean_ade<-mean(LDMC_con_ade)
LDMC_mean_ade
###3 species bcd
LDMC_con_bcd<-trait[c("B","C","D"),"LDMC"]
LDMC_con_bcd
LDMC_mean_bcd<-mean(LDMC_con_bcd)
LDMC_mean_bcd
###3 species bce
LDMC_con_bce<-trait[c("B","C","E"),"LDMC"]
LDMC_con_bce
LDMC_mean_bce<-mean(LDMC_con_bce)
LDMC_mean_bce
###3 species bde
LDMC_con_bde<-trait[c("B","D","E"),"LDMC"]
LDMC_con_bde
LDMC_mean_bde<-mean(LDMC_con_bde)
LDMC_mean_bde
###3 species cde
LDMC_con_cde<-trait[c("C","D","E"),"LDMC"]
LDMC_con_cde
LDMC_mean_cde<-mean(LDMC_con_cde)
LDMC_mean_cde
## Subset LDMC_con_rix for four species mixture
###4 species abcd
LDMC_con_abcd<-trait[c("A","B","C","D"),"LDMC"]
LDMC_con_abcd
LDMC_mean_abcd<-mean(LDMC_con_abcd)
LDMC_mean_abcd
###4 species abce
LDMC_con_abce<-trait[c("A","B","C","E"),"LDMC"]
LDMC_con_abce
LDMC_mean_abce<-mean(LDMC_con_abce)
LDMC_mean_abce
###4 species abde
LDMC_con_abde<-trait[c("A","B","D","E"),"LDMC"]
LDMC_con_abde
LDMC_mean_abde<-mean(LDMC_con_abde)
LDMC_mean_abde
###4 species acde
LDMC_con_acde<-trait[c("A","C","D","E"),"LDMC"]
LDMC_con_acde
LDMC_mean_acde<-mean(LDMC_con_acde)
LDMC_mean_acde
###4 species bcde
LDMC_con_bcde<-trait[c("B","C","D","E"),"LDMC"]
LDMC_con_bcde
LDMC_mean_bcde<-mean(LDMC_con_bcde)
LDMC_mean_bcde
## Subset for five species mixture
###5 species abcde
LDMC_con_abcde<-trait[c("A","B","C","D","E"),"LDMC"]
LDMC_con_abcde
LDMC_mean_abcde<-mean(LDMC_con_abcde)
LDMC_mean_abcde## [1] 0.3801092 0.5017838
## [1] 0.4409465
## [1] 0.3801092 0.5517229
## [1] 0.4659161
## [1] 0.3801092 0.6842406
## [1] 0.5321749
## [1] 0.3801092 0.3896994
## [1] 0.3849043
## [1] 0.5017838 0.5517229
## [1] 0.5267534
## [1] 0.5017838 0.6842406
## [1] 0.5930122
## [1] 0.5017838 0.3896994
## [1] 0.4457416
## [1] 0.5517229 0.6842406
## [1] 0.6179818
## [1] 0.5517229 0.3896994
## [1] 0.4707112
## [1] 0.6842406 0.3896994
## [1] 0.53697
## [1] 0.3801092 0.5017838 0.5517229
## [1] 0.477872
## [1] 0.3801092 0.5017838 0.6842406
## [1] 0.5220445
## [1] 0.3801092 0.5017838 0.3896994
## [1] 0.4238641
## [1] 0.3801092 0.5517229 0.6842406
## [1] 0.5386909
## [1] 0.3801092 0.5517229 0.3896994
## [1] 0.4405105
## [1] 0.3801092 0.6842406 0.3896994
## [1] 0.4846831
## [1] 0.5017838 0.5517229 0.6842406
## [1] 0.5792491
## [1] 0.5017838 0.5517229 0.3896994
## [1] 0.4810687
## [1] 0.5017838 0.6842406 0.3896994
## [1] 0.5252412
## [1] 0.5517229 0.6842406 0.3896994
## [1] 0.5418876
## [1] 0.3801092 0.5017838 0.5517229 0.6842406
## [1] 0.5294641
## [1] 0.3801092 0.5017838 0.5517229 0.3896994
## [1] 0.4558288
## [1] 0.3801092 0.5017838 0.6842406 0.3896994
## [1] 0.4889582
## [1] 0.3801092 0.5517229 0.6842406 0.3896994
## [1] 0.501443
## [1] 0.5017838 0.5517229 0.6842406 0.3896994
## [1] 0.5318617
## [1] 0.3801092 0.5017838 0.5517229 0.6842406 0.3896994
## [1] 0.5015112
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_LDMC<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), LDMC=c(trait[,"LDMC"], LDMC_mean_ab,LDMC_mean_ac,LDMC_mean_ad,LDMC_mean_ae,LDMC_mean_bc,LDMC_mean_bd,LDMC_mean_be,LDMC_mean_cd,LDMC_mean_ce,LDMC_mean_de,LDMC_mean_abc, LDMC_mean_abd,LDMC_mean_abe, LDMC_mean_acd, LDMC_mean_ace, LDMC_mean_ade, LDMC_mean_bcd, LDMC_mean_bce, LDMC_mean_bde, LDMC_mean_cde, LDMC_mean_abcd, LDMC_mean_abce, LDMC_mean_abde, LDMC_mean_acde, LDMC_mean_bcde, LDMC_mean_abcde ))
trait_mean_LDMC## item LDMC
## 1 A 0.3801092
## 2 B 0.5017838
## 3 C 0.5517229
## 4 D 0.6842406
## 5 E 0.3896994
## 6 AB 0.4409465
## 7 AC 0.4659161
## 8 AD 0.5321749
## 9 AE 0.3849043
## 10 BC 0.5267534
## 11 BD 0.5930122
## 12 BE 0.4457416
## 13 CD 0.6179818
## 14 CE 0.4707112
## 15 DE 0.5369700
## 16 ABC 0.4778720
## 17 ABD 0.5220445
## 18 ABE 0.4238641
## 19 ACD 0.5386909
## 20 ACE 0.4405105
## 21 ADE 0.4846831
## 22 BCD 0.5792491
## 23 BCE 0.4810687
## 24 BDE 0.5252412
## 25 CDE 0.5418876
## 26 ABCD 0.5294641
## 27 ABCE 0.4558288
## 28 ABDE 0.4889582
## 29 ACDE 0.5014430
## 30 BCDE 0.5318617
## 31 ABCDE 0.5015112
Merge litter and trait_mean_LDMC Now we need to merge litter data with trait_mean_LDMC by x= code and y= item
litter_trait_LDMC<-merge(litter, trait_mean_LDMC, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_LDMC)
#litter_trait_LDMC$LDMC.x-litter_trait_LDMC$LDMC.y
#write.csv(litter_trait_LDMC, file="litter_trait_LDMC.csv")## [1] 2790 28
## [1] 2790 29
initial_CN
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
initial_CN_con_ab<-trait[c("A","B"),"initial_CN"]
initial_CN_con_ab
initial_CN_mean_ab<-mean(initial_CN_con_ab)
initial_CN_mean_ab
###2 species ac
initial_CN_con_ac<-trait[c("A","C"),"initial_CN"]
initial_CN_con_ac
initial_CN_mean_ac<-mean(initial_CN_con_ac)
initial_CN_mean_ac
###2 species ad
initial_CN_con_ad<-trait[c("A","D"),"initial_CN"]
initial_CN_con_ad
initial_CN_mean_ad<-mean(initial_CN_con_ad)
initial_CN_mean_ad
###2 species ae
initial_CN_con_ae<-trait[c("A","E"),"initial_CN"]
initial_CN_con_ae
initial_CN_mean_ae<-mean(initial_CN_con_ae)
initial_CN_mean_ae
###2 species bc
initial_CN_con_bc<-trait[c("B","C"),"initial_CN"]
initial_CN_con_bc
initial_CN_mean_bc<-mean(initial_CN_con_bc)
initial_CN_mean_bc
###2 species bd
initial_CN_con_bd<-trait[c("B","D"),"initial_CN"]
initial_CN_con_bd
initial_CN_mean_bd<-mean(initial_CN_con_bd)
initial_CN_mean_bd
###2 species be
initial_CN_con_be<-trait[c("B","E"),"initial_CN"]
initial_CN_con_be
initial_CN_mean_be<-mean(initial_CN_con_be)
initial_CN_mean_be
###2 species cd
initial_CN_con_cd<-trait[c("C","D"),"initial_CN"]
initial_CN_con_cd
initial_CN_mean_cd<-mean(initial_CN_con_cd)
initial_CN_mean_cd
###2 species ce
initial_CN_con_ce<-trait[c("C","E"),"initial_CN"]
initial_CN_con_ce
initial_CN_mean_ce<-mean(initial_CN_con_ce)
initial_CN_mean_ce
###2 species de
initial_CN_con_de<-trait[c("D","E"),"initial_CN"]
initial_CN_con_de
initial_CN_mean_de<-mean(initial_CN_con_de)
initial_CN_mean_de
###3 species abc
initial_CN_con_abc<-trait[c("A","B","C"),"initial_CN"]
initial_CN_con_abc
initial_CN_mean_abc<-mean(initial_CN_con_abc)
initial_CN_mean_abc
###3 species abd
initial_CN_con_abd<-trait[c("A","B","D"),"initial_CN"]
initial_CN_con_abd
initial_CN_mean_abd<-mean(initial_CN_con_abd)
initial_CN_mean_abd
###3 species abe
initial_CN_con_abe<-trait[c("A","B","E"),"initial_CN"]
initial_CN_con_abe
initial_CN_mean_abe<-mean(initial_CN_con_abe)
initial_CN_mean_abe
###3 species acd
initial_CN_con_acd<-trait[c("A","C","D"),"initial_CN"]
initial_CN_con_acd
initial_CN_mean_acd<-mean(initial_CN_con_acd)
initial_CN_mean_acd
###3 species ace
initial_CN_con_ace<-trait[c("A","C","E"),"initial_CN"]
initial_CN_con_ace
initial_CN_mean_ace<-mean(initial_CN_con_ace)
initial_CN_mean_ace
###3 species ade
initial_CN_con_ade<-trait[c("A","D","E"),"initial_CN"]
initial_CN_con_ade
initial_CN_mean_ade<-mean(initial_CN_con_ade)
initial_CN_mean_ade
###3 species bcd
initial_CN_con_bcd<-trait[c("B","C","D"),"initial_CN"]
initial_CN_con_bcd
initial_CN_mean_bcd<-mean(initial_CN_con_bcd)
initial_CN_mean_bcd
###3 species bce
initial_CN_con_bce<-trait[c("B","C","E"),"initial_CN"]
initial_CN_con_bce
initial_CN_mean_bce<-mean(initial_CN_con_bce)
initial_CN_mean_bce
###3 species bde
initial_CN_con_bde<-trait[c("B","D","E"),"initial_CN"]
initial_CN_con_bde
initial_CN_mean_bde<-mean(initial_CN_con_bde)
initial_CN_mean_bde
###3 species cde
initial_CN_con_cde<-trait[c("C","D","E"),"initial_CN"]
initial_CN_con_cde
initial_CN_mean_cde<-mean(initial_CN_con_cde)
initial_CN_mean_cde
## Subset initial_CN_con_rix for four species mixture
###4 species abcd
initial_CN_con_abcd<-trait[c("A","B","C","D"),"initial_CN"]
initial_CN_con_abcd
initial_CN_mean_abcd<-mean(initial_CN_con_abcd)
initial_CN_mean_abcd
###4 species abce
initial_CN_con_abce<-trait[c("A","B","C","E"),"initial_CN"]
initial_CN_con_abce
initial_CN_mean_abce<-mean(initial_CN_con_abce)
initial_CN_mean_abce
###4 species abde
initial_CN_con_abde<-trait[c("A","B","D","E"),"initial_CN"]
initial_CN_con_abde
initial_CN_mean_abde<-mean(initial_CN_con_abde)
initial_CN_mean_abde
###4 species acde
initial_CN_con_acde<-trait[c("A","C","D","E"),"initial_CN"]
initial_CN_con_acde
initial_CN_mean_acde<-mean(initial_CN_con_acde)
initial_CN_mean_acde
###4 species bcde
initial_CN_con_bcde<-trait[c("B","C","D","E"),"initial_CN"]
initial_CN_con_bcde
initial_CN_mean_bcde<-mean(initial_CN_con_bcde)
initial_CN_mean_bcde
## Subset for five species mixture
###5 species abcde
initial_CN_con_abcde<-trait[c("A","B","C","D","E"),"initial_CN"]
initial_CN_con_abcde
initial_CN_mean_abcde<-mean(initial_CN_con_abcde)
initial_CN_mean_abcde## [1] 41.42727 55.62500
## [1] 48.52614
## [1] 41.42727 48.85542
## [1] 45.14135
## [1] 41.42727 77.50000
## [1] 59.46364
## [1] 41.42727 61.93333
## [1] 51.6803
## [1] 55.62500 48.85542
## [1] 52.24021
## [1] 55.625 77.500
## [1] 66.5625
## [1] 55.62500 61.93333
## [1] 58.77917
## [1] 48.85542 77.50000
## [1] 63.17771
## [1] 48.85542 61.93333
## [1] 55.39438
## [1] 77.50000 61.93333
## [1] 69.71667
## [1] 41.42727 55.62500 48.85542
## [1] 48.6359
## [1] 41.42727 55.62500 77.50000
## [1] 58.18409
## [1] 41.42727 55.62500 61.93333
## [1] 52.9952
## [1] 41.42727 48.85542 77.50000
## [1] 55.92756
## [1] 41.42727 48.85542 61.93333
## [1] 50.73868
## [1] 41.42727 77.50000 61.93333
## [1] 60.28687
## [1] 55.62500 48.85542 77.50000
## [1] 60.66014
## [1] 55.62500 48.85542 61.93333
## [1] 55.47125
## [1] 55.62500 77.50000 61.93333
## [1] 65.01944
## [1] 48.85542 77.50000 61.93333
## [1] 62.76292
## [1] 41.42727 55.62500 48.85542 77.50000
## [1] 55.85192
## [1] 41.42727 55.62500 48.85542 61.93333
## [1] 51.96026
## [1] 41.42727 55.62500 77.50000 61.93333
## [1] 59.1214
## [1] 41.42727 48.85542 77.50000 61.93333
## [1] 57.42901
## [1] 55.62500 48.85542 77.50000 61.93333
## [1] 60.97844
## [1] 41.42727 55.62500 48.85542 77.50000 61.93333
## [1] 57.06821
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_initial_CN<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), C_N_ratio=c(trait[,"initial_CN"], initial_CN_mean_ab,initial_CN_mean_ac,initial_CN_mean_ad,initial_CN_mean_ae,initial_CN_mean_bc,initial_CN_mean_bd,initial_CN_mean_be,initial_CN_mean_cd,initial_CN_mean_ce,initial_CN_mean_de,initial_CN_mean_abc, initial_CN_mean_abd,initial_CN_mean_abe, initial_CN_mean_acd, initial_CN_mean_ace, initial_CN_mean_ade, initial_CN_mean_bcd, initial_CN_mean_bce, initial_CN_mean_bde, initial_CN_mean_cde, initial_CN_mean_abcd, initial_CN_mean_abce, initial_CN_mean_abde, initial_CN_mean_acde, initial_CN_mean_bcde, initial_CN_mean_abcde ))
trait_mean_initial_CN## item C_N_ratio
## 1 A 41.42727
## 2 B 55.62500
## 3 C 48.85542
## 4 D 77.50000
## 5 E 61.93333
## 6 AB 48.52614
## 7 AC 45.14135
## 8 AD 59.46364
## 9 AE 51.68030
## 10 BC 52.24021
## 11 BD 66.56250
## 12 BE 58.77917
## 13 CD 63.17771
## 14 CE 55.39438
## 15 DE 69.71667
## 16 ABC 48.63590
## 17 ABD 58.18409
## 18 ABE 52.99520
## 19 ACD 55.92756
## 20 ACE 50.73868
## 21 ADE 60.28687
## 22 BCD 60.66014
## 23 BCE 55.47125
## 24 BDE 65.01944
## 25 CDE 62.76292
## 26 ABCD 55.85192
## 27 ABCE 51.96026
## 28 ABDE 59.12140
## 29 ACDE 57.42901
## 30 BCDE 60.97844
## 31 ABCDE 57.06821
Merge litter and trait_mean_initial_CN Now we need to merge litter data with trait_mean_initial_CN by x= code and y= item
litter_trait_initial_CN<-merge(litter, trait_mean_initial_CN, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_initial_CN)## [1] 2790 28
## [1] 2790 29
Lignin
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
initial_lignin_con_ab<-trait[c("A","B"),"initial_lignin"]
initial_lignin_con_ab
initial_lignin_mean_ab<-mean(initial_lignin_con_ab)
initial_lignin_mean_ab
###2 species ac
initial_lignin_con_ac<-trait[c("A","C"),"initial_lignin"]
initial_lignin_con_ac
initial_lignin_mean_ac<-mean(initial_lignin_con_ac)
initial_lignin_mean_ac
###2 species ad
initial_lignin_con_ad<-trait[c("A","D"),"initial_lignin"]
initial_lignin_con_ad
initial_lignin_mean_ad<-mean(initial_lignin_con_ad)
initial_lignin_mean_ad
###2 species ae
initial_lignin_con_ae<-trait[c("A","E"),"initial_lignin"]
initial_lignin_con_ae
initial_lignin_mean_ae<-mean(initial_lignin_con_ae)
initial_lignin_mean_ae
###2 species bc
initial_lignin_con_bc<-trait[c("B","C"),"initial_lignin"]
initial_lignin_con_bc
initial_lignin_mean_bc<-mean(initial_lignin_con_bc)
initial_lignin_mean_bc
###2 species bd
initial_lignin_con_bd<-trait[c("B","D"),"initial_lignin"]
initial_lignin_con_bd
initial_lignin_mean_bd<-mean(initial_lignin_con_bd)
initial_lignin_mean_bd
###2 species be
initial_lignin_con_be<-trait[c("B","E"),"initial_lignin"]
initial_lignin_con_be
initial_lignin_mean_be<-mean(initial_lignin_con_be)
initial_lignin_mean_be
###2 species cd
initial_lignin_con_cd<-trait[c("C","D"),"initial_lignin"]
initial_lignin_con_cd
initial_lignin_mean_cd<-mean(initial_lignin_con_cd)
initial_lignin_mean_cd
###2 species ce
initial_lignin_con_ce<-trait[c("C","E"),"initial_lignin"]
initial_lignin_con_ce
initial_lignin_mean_ce<-mean(initial_lignin_con_ce)
initial_lignin_mean_ce
###2 species de
initial_lignin_con_de<-trait[c("D","E"),"initial_lignin"]
initial_lignin_con_de
initial_lignin_mean_de<-mean(initial_lignin_con_de)
initial_lignin_mean_de
###3 species abc
initial_lignin_con_abc<-trait[c("A","B","C"),"initial_lignin"]
initial_lignin_con_abc
initial_lignin_mean_abc<-mean(initial_lignin_con_abc)
initial_lignin_mean_abc
###3 species abd
initial_lignin_con_abd<-trait[c("A","B","D"),"initial_lignin"]
initial_lignin_con_abd
initial_lignin_mean_abd<-mean(initial_lignin_con_abd)
initial_lignin_mean_abd
###3 species abe
initial_lignin_con_abe<-trait[c("A","B","E"),"initial_lignin"]
initial_lignin_con_abe
initial_lignin_mean_abe<-mean(initial_lignin_con_abe)
initial_lignin_mean_abe
###3 species acd
initial_lignin_con_acd<-trait[c("A","C","D"),"initial_lignin"]
initial_lignin_con_acd
initial_lignin_mean_acd<-mean(initial_lignin_con_acd)
initial_lignin_mean_acd
###3 species ace
initial_lignin_con_ace<-trait[c("A","C","E"),"initial_lignin"]
initial_lignin_con_ace
initial_lignin_mean_ace<-mean(initial_lignin_con_ace)
initial_lignin_mean_ace
###3 species ade
initial_lignin_con_ade<-trait[c("A","D","E"),"initial_lignin"]
initial_lignin_con_ade
initial_lignin_mean_ade<-mean(initial_lignin_con_ade)
initial_lignin_mean_ade
###3 species bcd
initial_lignin_con_bcd<-trait[c("B","C","D"),"initial_lignin"]
initial_lignin_con_bcd
initial_lignin_mean_bcd<-mean(initial_lignin_con_bcd)
initial_lignin_mean_bcd
###3 species bce
initial_lignin_con_bce<-trait[c("B","C","E"),"initial_lignin"]
initial_lignin_con_bce
initial_lignin_mean_bce<-mean(initial_lignin_con_bce)
initial_lignin_mean_bce
###3 species bde
initial_lignin_con_bde<-trait[c("B","D","E"),"initial_lignin"]
initial_lignin_con_bde
initial_lignin_mean_bde<-mean(initial_lignin_con_bde)
initial_lignin_mean_bde
###3 species cde
initial_lignin_con_cde<-trait[c("C","D","E"),"initial_lignin"]
initial_lignin_con_cde
initial_lignin_mean_cde<-mean(initial_lignin_con_cde)
initial_lignin_mean_cde
## Subset initial_lignin_con_rix for four species mixture
###4 species abcd
initial_lignin_con_abcd<-trait[c("A","B","C","D"),"initial_lignin"]
initial_lignin_con_abcd
initial_lignin_mean_abcd<-mean(initial_lignin_con_abcd)
initial_lignin_mean_abcd
###4 species abce
initial_lignin_con_abce<-trait[c("A","B","C","E"),"initial_lignin"]
initial_lignin_con_abce
initial_lignin_mean_abce<-mean(initial_lignin_con_abce)
initial_lignin_mean_abce
###4 species abde
initial_lignin_con_abde<-trait[c("A","B","D","E"),"initial_lignin"]
initial_lignin_con_abde
initial_lignin_mean_abde<-mean(initial_lignin_con_abde)
initial_lignin_mean_abde
###4 species acde
initial_lignin_con_acde<-trait[c("A","C","D","E"),"initial_lignin"]
initial_lignin_con_acde
initial_lignin_mean_acde<-mean(initial_lignin_con_acde)
initial_lignin_mean_acde
###4 species bcde
initial_lignin_con_bcde<-trait[c("B","C","D","E"),"initial_lignin"]
initial_lignin_con_bcde
initial_lignin_mean_bcde<-mean(initial_lignin_con_bcde)
initial_lignin_mean_bcde
## Subset for five species mixture
###5 species abcde
initial_lignin_con_abcde<-trait[c("A","B","C","D","E"),"initial_lignin"]
initial_lignin_con_abcde
initial_lignin_mean_abcde<-mean(initial_lignin_con_abcde)
initial_lignin_mean_abcde## [1] 21.15 34.70
## [1] 27.925
## [1] 21.15 25.90
## [1] 23.525
## [1] 21.15 31.15
## [1] 26.15
## [1] 21.15 39.40
## [1] 30.275
## [1] 34.7 25.9
## [1] 30.3
## [1] 34.70 31.15
## [1] 32.925
## [1] 34.7 39.4
## [1] 37.05
## [1] 25.90 31.15
## [1] 28.525
## [1] 25.9 39.4
## [1] 32.65
## [1] 31.15 39.40
## [1] 35.275
## [1] 21.15 34.70 25.90
## [1] 27.25
## [1] 21.15 34.70 31.15
## [1] 29
## [1] 21.15 34.70 39.40
## [1] 31.75
## [1] 21.15 25.90 31.15
## [1] 26.06667
## [1] 21.15 25.90 39.40
## [1] 28.81667
## [1] 21.15 31.15 39.40
## [1] 30.56667
## [1] 34.70 25.90 31.15
## [1] 30.58333
## [1] 34.7 25.9 39.4
## [1] 33.33333
## [1] 34.70 31.15 39.40
## [1] 35.08333
## [1] 25.90 31.15 39.40
## [1] 32.15
## [1] 21.15 34.70 25.90 31.15
## [1] 28.225
## [1] 21.15 34.70 25.90 39.40
## [1] 30.2875
## [1] 21.15 34.70 31.15 39.40
## [1] 31.6
## [1] 21.15 25.90 31.15 39.40
## [1] 29.4
## [1] 34.70 25.90 31.15 39.40
## [1] 32.7875
## [1] 21.15 34.70 25.90 31.15 39.40
## [1] 30.46
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_initial_lignin<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), initial_lignin=c(trait[,"initial_lignin"], initial_lignin_mean_ab,initial_lignin_mean_ac,initial_lignin_mean_ad,initial_lignin_mean_ae,initial_lignin_mean_bc,initial_lignin_mean_bd,initial_lignin_mean_be,initial_lignin_mean_cd,initial_lignin_mean_ce,initial_lignin_mean_de,initial_lignin_mean_abc, initial_lignin_mean_abd,initial_lignin_mean_abe, initial_lignin_mean_acd, initial_lignin_mean_ace, initial_lignin_mean_ade, initial_lignin_mean_bcd, initial_lignin_mean_bce, initial_lignin_mean_bde, initial_lignin_mean_cde, initial_lignin_mean_abcd, initial_lignin_mean_abce, initial_lignin_mean_abde, initial_lignin_mean_acde, initial_lignin_mean_bcde, initial_lignin_mean_abcde ))
trait_mean_initial_lignin## item initial_lignin
## 1 A 21.15000
## 2 B 34.70000
## 3 C 25.90000
## 4 D 31.15000
## 5 E 39.40000
## 6 AB 27.92500
## 7 AC 23.52500
## 8 AD 26.15000
## 9 AE 30.27500
## 10 BC 30.30000
## 11 BD 32.92500
## 12 BE 37.05000
## 13 CD 28.52500
## 14 CE 32.65000
## 15 DE 35.27500
## 16 ABC 27.25000
## 17 ABD 29.00000
## 18 ABE 31.75000
## 19 ACD 26.06667
## 20 ACE 28.81667
## 21 ADE 30.56667
## 22 BCD 30.58333
## 23 BCE 33.33333
## 24 BDE 35.08333
## 25 CDE 32.15000
## 26 ABCD 28.22500
## 27 ABCE 30.28750
## 28 ABDE 31.60000
## 29 ACDE 29.40000
## 30 BCDE 32.78750
## 31 ABCDE 30.46000
Merge litter and trait_mean_initial_lignin Now we need to merge litter data with trait_mean_initial_lignin by x= code and y= item
litter_trait_initial_lignin<-merge(litter, trait_mean_initial_lignin, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_initial_lignin)
#litter_trait_initial_lignin$C_N_ratio-litter_trait_initial_lignin$initial_lignin
#write.csv(litter_trait_initial_lignin, file="litter_trait_initial_lignin.csv")## [1] 2790 28
## [1] 2790 29
Tannins
## Subset dataset for two species
#"AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE"
###2 species ab
initial_tannin_con_ab<-trait[c("A","B"),"initial_tannin"]
initial_tannin_con_ab
initial_tannin_mean_ab<-mean(initial_tannin_con_ab)
initial_tannin_mean_ab
###2 species ac
initial_tannin_con_ac<-trait[c("A","C"),"initial_tannin"]
initial_tannin_con_ac
initial_tannin_mean_ac<-mean(initial_tannin_con_ac)
initial_tannin_mean_ac
###2 species ad
initial_tannin_con_ad<-trait[c("A","D"),"initial_tannin"]
initial_tannin_con_ad
initial_tannin_mean_ad<-mean(initial_tannin_con_ad)
initial_tannin_mean_ad
###2 species ae
initial_tannin_con_ae<-trait[c("A","E"),"initial_tannin"]
initial_tannin_con_ae
initial_tannin_mean_ae<-mean(initial_tannin_con_ae)
initial_tannin_mean_ae
###2 species bc
initial_tannin_con_bc<-trait[c("B","C"),"initial_tannin"]
initial_tannin_con_bc
initial_tannin_mean_bc<-mean(initial_tannin_con_bc)
initial_tannin_mean_bc
###2 species bd
initial_tannin_con_bd<-trait[c("B","D"),"initial_tannin"]
initial_tannin_con_bd
initial_tannin_mean_bd<-mean(initial_tannin_con_bd)
initial_tannin_mean_bd
###2 species be
initial_tannin_con_be<-trait[c("B","E"),"initial_tannin"]
initial_tannin_con_be
initial_tannin_mean_be<-mean(initial_tannin_con_be)
initial_tannin_mean_be
###2 species cd
initial_tannin_con_cd<-trait[c("C","D"),"initial_tannin"]
initial_tannin_con_cd
initial_tannin_mean_cd<-mean(initial_tannin_con_cd)
initial_tannin_mean_cd
###2 species ce
initial_tannin_con_ce<-trait[c("C","E"),"initial_tannin"]
initial_tannin_con_ce
initial_tannin_mean_ce<-mean(initial_tannin_con_ce)
initial_tannin_mean_ce
###2 species de
initial_tannin_con_de<-trait[c("D","E"),"initial_tannin"]
initial_tannin_con_de
initial_tannin_mean_de<-mean(initial_tannin_con_de)
initial_tannin_mean_de
###3 species abc
initial_tannin_con_abc<-trait[c("A","B","C"),"initial_tannin"]
initial_tannin_con_abc
initial_tannin_mean_abc<-mean(initial_tannin_con_abc)
initial_tannin_mean_abc
###3 species abd
initial_tannin_con_abd<-trait[c("A","B","D"),"initial_tannin"]
initial_tannin_con_abd
initial_tannin_mean_abd<-mean(initial_tannin_con_abd)
initial_tannin_mean_abd
###3 species abe
initial_tannin_con_abe<-trait[c("A","B","E"),"initial_tannin"]
initial_tannin_con_abe
initial_tannin_mean_abe<-mean(initial_tannin_con_abe)
initial_tannin_mean_abe
###3 species acd
initial_tannin_con_acd<-trait[c("A","C","D"),"initial_tannin"]
initial_tannin_con_acd
initial_tannin_mean_acd<-mean(initial_tannin_con_acd)
initial_tannin_mean_acd
###3 species ace
initial_tannin_con_ace<-trait[c("A","C","E"),"initial_tannin"]
initial_tannin_con_ace
initial_tannin_mean_ace<-mean(initial_tannin_con_ace)
initial_tannin_mean_ace
###3 species ade
initial_tannin_con_ade<-trait[c("A","D","E"),"initial_tannin"]
initial_tannin_con_ade
initial_tannin_mean_ade<-mean(initial_tannin_con_ade)
initial_tannin_mean_ade
###3 species bcd
initial_tannin_con_bcd<-trait[c("B","C","D"),"initial_tannin"]
initial_tannin_con_bcd
initial_tannin_mean_bcd<-mean(initial_tannin_con_bcd)
initial_tannin_mean_bcd
###3 species bce
initial_tannin_con_bce<-trait[c("B","C","E"),"initial_tannin"]
initial_tannin_con_bce
initial_tannin_mean_bce<-mean(initial_tannin_con_bce)
initial_tannin_mean_bce
###3 species bde
initial_tannin_con_bde<-trait[c("B","D","E"),"initial_tannin"]
initial_tannin_con_bde
initial_tannin_mean_bde<-mean(initial_tannin_con_bde)
initial_tannin_mean_bde
###3 species cde
initial_tannin_con_cde<-trait[c("C","D","E"),"initial_tannin"]
initial_tannin_con_cde
initial_tannin_mean_cde<-mean(initial_tannin_con_cde)
initial_tannin_mean_cde
## Subset initial_tannin_con_rix for four species mixture
###4 species abcd
initial_tannin_con_abcd<-trait[c("A","B","C","D"),"initial_tannin"]
initial_tannin_con_abcd
initial_tannin_mean_abcd<-mean(initial_tannin_con_abcd)
initial_tannin_mean_abcd
###4 species abce
initial_tannin_con_abce<-trait[c("A","B","C","E"),"initial_tannin"]
initial_tannin_con_abce
initial_tannin_mean_abce<-mean(initial_tannin_con_abce)
initial_tannin_mean_abce
###4 species abde
initial_tannin_con_abde<-trait[c("A","B","D","E"),"initial_tannin"]
initial_tannin_con_abde
initial_tannin_mean_abde<-mean(initial_tannin_con_abde)
initial_tannin_mean_abde
###4 species acde
initial_tannin_con_acde<-trait[c("A","C","D","E"),"initial_tannin"]
initial_tannin_con_acde
initial_tannin_mean_acde<-mean(initial_tannin_con_acde)
initial_tannin_mean_acde
###4 species bcde
initial_tannin_con_bcde<-trait[c("B","C","D","E"),"initial_tannin"]
initial_tannin_con_bcde
initial_tannin_mean_bcde<-mean(initial_tannin_con_bcde)
initial_tannin_mean_bcde
## Subset for five species mixture
###5 species abcde
initial_tannin_con_abcde<-trait[c("A","B","C","D","E"),"initial_tannin"]
initial_tannin_con_abcde
initial_tannin_mean_abcde<-mean(initial_tannin_con_abcde)
initial_tannin_mean_abcde## [1] 10.33 7.19
## [1] 8.76
## [1] 10.33 5.77
## [1] 8.05
## [1] 10.33 2.60
## [1] 6.465
## [1] 10.33 2.34
## [1] 6.335
## [1] 7.19 5.77
## [1] 6.48
## [1] 7.19 2.60
## [1] 4.895
## [1] 7.19 2.34
## [1] 4.765
## [1] 5.77 2.60
## [1] 4.185
## [1] 5.77 2.34
## [1] 4.055
## [1] 2.60 2.34
## [1] 2.47
## [1] 10.33 7.19 5.77
## [1] 7.763333
## [1] 10.33 7.19 2.60
## [1] 6.706667
## [1] 10.33 7.19 2.34
## [1] 6.62
## [1] 10.33 5.77 2.60
## [1] 6.233333
## [1] 10.33 5.77 2.34
## [1] 6.146667
## [1] 10.33 2.60 2.34
## [1] 5.09
## [1] 7.19 5.77 2.60
## [1] 5.186667
## [1] 7.19 5.77 2.34
## [1] 5.1
## [1] 7.19 2.60 2.34
## [1] 4.043333
## [1] 5.77 2.60 2.34
## [1] 3.57
## [1] 10.33 7.19 5.77 2.60
## [1] 6.4725
## [1] 10.33 7.19 5.77 2.34
## [1] 6.4075
## [1] 10.33 7.19 2.60 2.34
## [1] 5.615
## [1] 10.33 5.77 2.60 2.34
## [1] 5.26
## [1] 7.19 5.77 2.60 2.34
## [1] 4.475
## [1] 10.33 7.19 5.77 2.60 2.34
## [1] 5.646
## For the single species A, B, C, D, E, we will put initial individual concentration
trait_mean_initial_tannin<-data.frame(item=c("A", "B", "C", "D", "E", "AB","AC","AD","AE", "BC", "BD","BE","CD","CE","DE", "ABC", "ABD", "ABE", "ACD", "ACE", "ADE", "BCD", "BCE", "BDE", "CDE", "ABCD", "ABCE", "ABDE", "ACDE", "BCDE", "ABCDE"), initial_tannin=c(trait[,"initial_tannin"], initial_tannin_mean_ab,initial_tannin_mean_ac,initial_tannin_mean_ad,initial_tannin_mean_ae,initial_tannin_mean_bc,initial_tannin_mean_bd,initial_tannin_mean_be,initial_tannin_mean_cd,initial_tannin_mean_ce,initial_tannin_mean_de,initial_tannin_mean_abc, initial_tannin_mean_abd,initial_tannin_mean_abe, initial_tannin_mean_acd, initial_tannin_mean_ace, initial_tannin_mean_ade, initial_tannin_mean_bcd, initial_tannin_mean_bce, initial_tannin_mean_bde, initial_tannin_mean_cde, initial_tannin_mean_abcd, initial_tannin_mean_abce, initial_tannin_mean_abde, initial_tannin_mean_acde, initial_tannin_mean_bcde, initial_tannin_mean_abcde ))
trait_mean_initial_tannin## item initial_tannin
## 1 A 10.330000
## 2 B 7.190000
## 3 C 5.770000
## 4 D 2.600000
## 5 E 2.340000
## 6 AB 8.760000
## 7 AC 8.050000
## 8 AD 6.465000
## 9 AE 6.335000
## 10 BC 6.480000
## 11 BD 4.895000
## 12 BE 4.765000
## 13 CD 4.185000
## 14 CE 4.055000
## 15 DE 2.470000
## 16 ABC 7.763333
## 17 ABD 6.706667
## 18 ABE 6.620000
## 19 ACD 6.233333
## 20 ACE 6.146667
## 21 ADE 5.090000
## 22 BCD 5.186667
## 23 BCE 5.100000
## 24 BDE 4.043333
## 25 CDE 3.570000
## 26 ABCD 6.472500
## 27 ABCE 6.407500
## 28 ABDE 5.615000
## 29 ACDE 5.260000
## 30 BCDE 4.475000
## 31 ABCDE 5.646000
Merge litter and trait_mean_initial_tannin Now we need to merge litter data with trait_mean_initial_tannin by x= code and y= item
litter_trait_initial_tannin<-merge(litter, trait_mean_initial_tannin, by.x="code", by.y="item")
dim(litter)
dim(litter_trait_initial_tannin)
#litter_trait_initial_tannin$C_N_ratio-litter_trait_initial_tannin$initial_tannin
#write.csv(litter_trait_initial_tannin, file="litter_trait_initial_tannin.csv")## [1] 2790 28
## [1] 2790 29
Add additional columns for trait dissimilarity and mean concentration traits for litter
dim(litter)
dim(trait_dis_dat)
#Add trait dissimilarity
litter<-merge(litter, trait_dis_dat, by.x="code", by.y="item")
#add Nitrogen
litter<-merge(litter, trait_mean_N, by.x="code", by.y="item")
#Add Carbon
litter<-merge(litter, trait_mean_C, by.x="code", by.y="item")
#Add Phosphorus
litter<-merge(litter, trait_mean_P, by.x="code", by.y="item")
#Add LDMC
litter<-merge(litter, trait_mean_LDMC, by.x="code", by.y="item")
#Add CN ratio
litter<-merge(litter, trait_mean_initial_CN, by.x="code", by.y="item")
#Add initial Lignin
litter<-merge(litter, trait_mean_initial_lignin, by.x="code", by.y="item")
dim(litter)
head(litter)
#Add initial tannin
litter<-merge(litter, trait_mean_initial_tannin, by.x="code", by.y="item")
dim(litter)
head(litter)## [1] 2790 28
## [1] 31 2
## [1] 2790 35
## code id species prop_slow_decomp prop_gymn No_species species_richness
## 1 A 1 Kp 0 0 1 1
## 2 A 1 Kp 0 0 1 1
## 3 A 1 Kp 0 0 1 1
## 4 A 1 Kp 0 0 1 1
## 5 A 1 Kp 0 0 1 1
## 6 A 1 Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
## trait_dissimilarity initial_N initial_C initial_P LDMC C_N_ratio
## 1 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 2 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 3 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 4 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 5 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 6 NA 1.1 45.57 2.5986 0.3801092 41.42727
## initial_lignin
## 1 21.15
## 2 21.15
## 3 21.15
## 4 21.15
## 5 21.15
## 6 21.15
## [1] 2790 36
## code id species prop_slow_decomp prop_gymn No_species species_richness
## 1 A 1 Kp 0 0 1 1
## 2 A 1 Kp 0 0 1 1
## 3 A 1 Kp 0 0 1 1
## 4 A 1 Kp 0 0 1 1
## 5 A 1 Kp 0 0 1 1
## 6 A 1 Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
## trait_dissimilarity initial_N initial_C initial_P LDMC C_N_ratio
## 1 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 2 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 3 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 4 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 5 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 6 NA 1.1 45.57 2.5986 0.3801092 41.42727
## initial_lignin initial_tannin
## 1 21.15 10.33
## 2 21.15 10.33
## 3 21.15 10.33
## 4 21.15 10.33
## 5 21.15 10.33
## 6 21.15 10.33
dim(litter)
head(litter)
head(litter[1:6, ])## [1] 2790 36
## code id species prop_slow_decomp prop_gymn No_species species_richness
## 1 A 1 Kp 0 0 1 1
## 2 A 1 Kp 0 0 1 1
## 3 A 1 Kp 0 0 1 1
## 4 A 1 Kp 0 0 1 1
## 5 A 1 Kp 0 0 1 1
## 6 A 1 Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
## trait_dissimilarity initial_N initial_C initial_P LDMC C_N_ratio
## 1 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 2 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 3 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 4 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 5 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 6 NA 1.1 45.57 2.5986 0.3801092 41.42727
## initial_lignin initial_tannin
## 1 21.15 10.33
## 2 21.15 10.33
## 3 21.15 10.33
## 4 21.15 10.33
## 5 21.15 10.33
## 6 21.15 10.33
## code id species prop_slow_decomp prop_gymn No_species species_richness
## 1 A 1 Kp 0 0 1 1
## 2 A 1 Kp 0 0 1 1
## 3 A 1 Kp 0 0 1 1
## 4 A 1 Kp 0 0 1 1
## 5 A 1 Kp 0 0 1 1
## 6 A 1 Kp 0 0 1 1
## mesh_size size_mesh Time Time_month initial.weight plot
## 1 0.07 mm S 1 one month 9.325 R1
## 2 0.07 mm S 3 three months 9.325 R1
## 3 0.07 mm S 6 six months 9.325 R1
## 4 2.0 mm M 1 one month 9.325 R1
## 5 2.0 mm M 3 three months 9.325 R1
## 6 2.0 mm M 6 six months 9.325 R1
## f_weight_with_envelope Envelope_weight f_weight mass_loss_g percent_ml
## 1 13.71 5.605 8.105 1.22 13.08310992
## 2 13.71 5.605 8.105 1.22 13.08310992
## 3 13.19 5.605 7.585 1.74 18.65951743
## 4 13.66 5.605 8.055 1.27 13.61930295
## 5 13.09 5.605 7.485 1.84 19.73190349
## 6 12.3 5.605 6.695 2.63 28.20375335
## percent_eml remaining_mass perc_mass mass_loss_prop fast_species
## 1 N/A 86.91689008 0.869168901 0.130831099 1
## 2 N/A 86.91689008 0.869168901 0.130831099 1
## 3 N/A 81.34048257 0.813404826 0.186595174 1
## 4 N/A 86.38069705 0.863806971 0.13619303 1
## 5 N/A 80.26809651 0.802680965 0.197319035 1
## 6 N/A 71.79624665 0.717962467 0.282037534 1
## slow_species mixture litter_type expected_mass_loss_0.07mm plot_harvest
## 1 0 0 fast 13.08311 R1_1
## 2 0 0 fast 13.08311 R1_3
## 3 0 0 fast 18.65952 R1_6
## 4 0 0 fast 13.08311 R1_1
## 5 0 0 fast 13.08311 R1_3
## 6 0 0 fast 18.65952 R1_6
## trait_dissimilarity initial_N initial_C initial_P LDMC C_N_ratio
## 1 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 2 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 3 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 4 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 5 NA 1.1 45.57 2.5986 0.3801092 41.42727
## 6 NA 1.1 45.57 2.5986 0.3801092 41.42727
## initial_lignin initial_tannin
## 1 21.15 10.33
## 2 21.15 10.33
## 3 21.15 10.33
## 4 21.15 10.33
## 5 21.15 10.33
## 6 21.15 10.33
There are missing values in the mass loss and we need to remove them
dim(litter)
litter<-litter[!litter$percent_ml == 'N/A',] #REMOVE MISSING VALUES FOR MASS LOSS
dim(litter)## We lost 175 samples ## [1] 2790 36
## [1] 2615 36
litter$mesh_size <- as.factor(litter$mesh_size)
litter$species <- as.factor(litter$species)
litter$No_species <- as.factor(litter$No_species)
litter$litter_type <- as.factor(litter$litter_type)
#litter$plot_harvest<- as.factor(litter$plot_harvest)
levels(litter$plot_harvest)## [1] "R1_0" "R1_1" "R1_16" "R1_3" "R1_6" "R1_9" "R2_0" "R2_1" "R2_16"
## [10] "R2_3" "R2_6" "R2_9" "R3_0" "R3_1" "R3_16" "R3_3" "R3_6" "R3_9"
## [19] "R4_0" "R4_1" "R4_16" "R4_3" "R4_6" "R4_9" "R5_0" "R5_1" "R5_16"
## [28] "R5_3" "R5_6" "R5_9"
Make sure the following variables are read as numeric
litter$percent_ml <- as.numeric(litter$percent_ml)
litter$species_richness <- as.numeric(litter$species_richness)
#litter$expected_mass_loss_perc <- as.numeric(litter$expected_mass_loss_perc)
litter$initial_lignin <- as.numeric(litter$initial_lignin)
litter$carbN<- as.numeric(litter$C_N_ratio)
litter$id<-as.factor(litter$id)
litter$trait_dissimilarity<-as.numeric(litter$trait_dissimilarity)We need to deal with negative mass loss values. We set all negative values to zero for percentage mass loss
litter$percent_ml<- ifelse(litter$percent_ml < 0, 0, litter$percent_ml)Set the graphical parameters back to 1 by 1
par(mfrow=c(1,1))
hist(litter$percent_ml) # Mass loss data seems to be skewed to the left#here we try to transform the data so that it is normally distributed
hist(log(litter$percent_ml))# log transformation does not correct the skewed distributionhist(litter$percent_ml^(1/2))# still looking not very wellhere we exclude zero time as this information is here to help for decay rate calculation only and not subsetting the data points cause the data distribution to be skewed.
dim(litter)## [1] 2615 37
litter_minus_zero<-litter[!litter$Time == '0',]
dim(litter_minus_zero)## [1] 2150 37
hist(log(litter_minus_zero$percent_ml))#log transformation does not correct the skewed distributionhist(litter_minus_zero$percent_ml^(1/2))#now looks better after excluding time zeroplot(data=litter_minus_zero, percent_ml~Time)plot(data=litter_minus_zero, percent_ml~species)plot(data=litter_minus_zero, percent_ml~mesh_size)plot(data=litter_minus_zero, percent_ml~litter_type)Compute mean mass loss per mesh size, number species and per time. We do this with piping method.
library(dplyr)
means_ml<-litter_minus_zero%>%
group_by(Time, mesh_size)%>%
summarize(mean_size=mean(percent_ml,na.rm=TRUE),
sd_size=sd(percent_ml,na.rm=TRUE),
se_size=sd(percent_ml,na.rm=TRUE)/sqrt(n()),
)## `summarise()` has grouped output by 'Time'. You can override using the
## `.groups` argument.
means_ml
dim(means_ml)## # A tibble: 15 × 5
## # Groups: Time [5]
## Time mesh_size mean_size sd_size se_size
## <int> <fct> <dbl> <dbl> <dbl>
## 1 1 0.07 mm 9.24 5.80 0.482
## 2 1 2.0 mm 11.1 4.88 0.400
## 3 1 5.0 mm 11.1 4.42 0.369
## 4 3 0.07 mm 14.3 4.75 0.395
## 5 3 2.0 mm 16.8 5.42 0.461
## 6 3 5.0 mm 16.4 4.61 0.391
## 7 6 0.07 mm 19.3 6.60 0.558
## 8 6 2.0 mm 22.8 5.74 0.477
## 9 6 5.0 mm 23.1 6.17 0.509
## 10 9 0.07 mm 29.8 8.38 0.675
## 11 9 2.0 mm 31.3 9.03 0.725
## 12 9 5.0 mm 30.9 8.81 0.722
## 13 16 0.07 mm 44.3 8.22 0.685
## 14 16 2.0 mm 52.6 11.0 0.968
## 15 16 5.0 mm 54.9 13.2 1.17
## [1] 15 5
For our modelling part we will use species as the litter combination so as not to bring confusion. Species column includes single species litter and also the mixture with different combination of the single species. Thus, we can use litter combination instead of species.
litter_minus_zero$litter_combination<-litter_minus_zero$specieslitter_single<- litter_minus_zero[litter_minus_zero$No_species == "1",]
dim(litter_single)## [1] 362 38
hist(litter_single$percent_ml)## distribution skewed to lefthist(litter_single$percent_ml^(1/2))#looks much betterCheck the levels of species at current stage
levels(litter_single$species)## [1] "Kp" "Kp, Lf" "Kp, Lf, Pm"
## [4] "Kp, Lf, Pm, Td" "Kp, Lf, Td" "Kp, Pm"
## [7] "Kp, Pm, Td" "Kp, Qc" "Kp, Qc, Lf"
## [10] "Kp, Qc, Lf, Pm" "Kp, Qc, Lf, Pm, Td" "Kp, Qc, Lf, Td"
## [13] "Kp, Qc, Pm" "Kp, Qc, Td" "Kp, Td"
## [16] "Kp,Qc, Pm, Td" "Lf" "Lf, Pm"
## [19] "Lf, Pm, Td" "Lf, Td" "Pm"
## [22] "Pm, Td" "Qc" "Qc, Lf"
## [25] "Qc, Lf, Pm" "Qc, Lf, Pm, Td" "Qc, Lf, Td"
## [28] "Qc, Pm" "Qc, Pm, Td" "Qc, Td"
## [31] "Td"
Let reduce these levels to the five single species
litter_single[] <- lapply(litter_single, function(x) if(is.factor(x)) factor(x) else x)
levels(litter_single$species)## Now these are 5 levels corresponding to the 5 single species## [1] "Kp" "Lf" "Pm" "Qc" "Td"
Here we plot the percentage mas loss of single species litter in the three collection times.
First we change the species abbreviations to full names.
levels(litter_single$species)
levels(litter_single$species) <- c("Koelreuteria paniculata", "Liquidambar formosana","Pinus massoniana","Quercus chenii","Taxidium distichum")## [1] "Kp" "Lf" "Pm" "Qc" "Td"
Compute mean mass loss per single species per time and per mesh size.
means_ml_sig<-litter_single%>%
group_by(species, Time,mesh_size)%>%
summarize(mean_size=mean(percent_ml),
sd_size=sd(percent_ml),
se_size=sd(percent_ml)/sqrt(n()),
)## `summarise()` has grouped output by 'species', 'Time'. You can override using
## the `.groups` argument.
means_ml_sig
head(means_ml_sig)
levels(means_ml_sig$species)
dim(means_ml_sig)## # A tibble: 75 × 6
## # Groups: species, Time [25]
## species Time mesh_size mean_size sd_size se_size
## <fct> <int> <fct> <dbl> <dbl> <dbl>
## 1 Koelreuteria paniculata 1 0.07 mm 10.2 3.56 1.59
## 2 Koelreuteria paniculata 1 2.0 mm 12.6 1.81 0.808
## 3 Koelreuteria paniculata 1 5.0 mm 9.13 2.40 1.08
## 4 Koelreuteria paniculata 3 0.07 mm 14.9 2.92 1.31
## 5 Koelreuteria paniculata 3 2.0 mm 17.8 4.72 2.11
## 6 Koelreuteria paniculata 3 5.0 mm 19.4 5.67 2.54
## 7 Koelreuteria paniculata 6 0.07 mm 21.2 2.57 1.15
## 8 Koelreuteria paniculata 6 2.0 mm 28.6 4.12 1.84
## 9 Koelreuteria paniculata 6 5.0 mm 29.6 6.02 2.69
## 10 Koelreuteria paniculata 9 0.07 mm 38.6 9.51 4.25
## # … with 65 more rows
## # ℹ Use `print(n = ...)` to see more rows
## # A tibble: 6 × 6
## # Groups: species, Time [2]
## species Time mesh_size mean_size sd_size se_size
## <fct> <int> <fct> <dbl> <dbl> <dbl>
## 1 Koelreuteria paniculata 1 0.07 mm 10.2 3.56 1.59
## 2 Koelreuteria paniculata 1 2.0 mm 12.6 1.81 0.808
## 3 Koelreuteria paniculata 1 5.0 mm 9.13 2.40 1.08
## 4 Koelreuteria paniculata 3 0.07 mm 14.9 2.92 1.31
## 5 Koelreuteria paniculata 3 2.0 mm 17.8 4.72 2.11
## 6 Koelreuteria paniculata 3 5.0 mm 19.4 5.67 2.54
## [1] "Koelreuteria paniculata" "Liquidambar formosana"
## [3] "Pinus massoniana" "Quercus chenii"
## [5] "Taxidium distichum"
## [1] 75 6
Specify the order of species in our plot We plot in this order because by ordering percentage mass loss per collection period for fast decomposing and slow decomposing species this is more appealing to the eyes.
level<- c("Pinus massoniana","Quercus chenii", "Koelreuteria paniculata", "Taxidium distichum", "Liquidambar formosana" )
levels(means_ml_sig$species)
means_ml_sig$species <- factor(means_ml_sig$species, levels=level)
levels(means_ml_sig$species)## [1] "Koelreuteria paniculata" "Liquidambar formosana"
## [3] "Pinus massoniana" "Quercus chenii"
## [5] "Taxidium distichum"
## [1] "Pinus massoniana" "Quercus chenii"
## [3] "Koelreuteria paniculata" "Taxidium distichum"
## [5] "Liquidambar formosana"
Plot the graph using ggplot2
library(ggplot2)
Fig_S1<- ggplot(means_ml_sig, aes(x = as.factor(Time), y = as.numeric(as.character(mean_size )),colour=species, shape= mesh_size)) + ylab(NULL) + xlab("Time in months")+
geom_point(pch=22,size=0, color =("white"))+geom_rect(data=NULL,aes(xmin=1.5,xmax=2.5,ymin=-Inf,ymax=Inf),
fill="lightgray", colour = NA, alpha = 0.1) +geom_rect(data=NULL,aes(xmin=3.5,xmax=4.5,ymin=-Inf,ymax=Inf),
fill="lightgray", colour = NA, alpha = 0.1)+
scale_shape_manual(values=c(15,16,17)) +
scale_fill_manual(values=c(NA, "black"),guide=guide_legend(override.aes=list(shape=21)))+ scale_y_continuous(limits = c(0, 85)) +
geom_point(position=position_dodge(1),stat="identity", size=6)+
geom_errorbar(ymin = means_ml_sig$mean_size - means_ml_sig$se_size, ymax = means_ml_sig$mean_size + means_ml_sig$se_size, width=0, size = 0.8, position=position_dodge(1))+
xlab(" Incubation time in months") +
ylab("Percentage mass loss") +
scale_x_discrete(limits=levels(litter$Time))+
theme(axis.line = element_line(colour = "black", size = 0.5),
axis.ticks.x=element_blank(),
axis.ticks.y=element_line(colour = "black"),
axis.text = element_text(colour = "black", size = 15),
axis.title = element_text(colour = "black", size = 15),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_rect(fill=NA,color="black", size=0.5, linetype="solid"),
panel.background = element_blank(),
strip.text = element_text(colour = "black", size = 15),
#legend.position = c("bottom"),
legend.position = c(0.21,0.72),
legend.text=element_text(size=12,face="italic"),
legend.background = element_blank(),
legend.key.width=unit(0.4,"cm"),
legend.key.height=unit(0.4,"cm"))+
labs(color="Species",shape="Mesh size")+
theme(text=element_text(size=16, family="serif"))+ theme(axis.title = element_text(family = "palatino", size = (20), colour = "black"))+
theme(axis.text = element_text(family = "palatino", colour = "black", size = (14)))
Fig_S1path<-getwd()
ggsave(filename="Fig_S1.png", plot=Fig_S1, device="png",
path=path, height=8, width=10, units="in", dpi=500)Create a new data frame excluding single species litter
litter_mix<-litter_minus_zero[!litter_minus_zero$No_species == '1',]
dim(litter_mix)
levels(litter_mix$No_species)## [1] 1788 38
## [1] "1" "2" "3" "4" "5"
Five levels that include the single species ones. Let’s make sure the levels in No_species for this litter_mix dataset are only four levels, reflecting the mixture 2, 3, 4, 5 species
litter_mix[] <- lapply(litter_mix, function(x) if(is.factor(x)) factor(x) else x)
levels(litter_mix$No_species)## [1] "2" "3" "4" "5"
dim(litter_mix)## [1] 1788 38
The levels are now correct.
Let compute mean of percent mass loss by mesh size, number of species and time
means_ml_mix<-litter_mix%>%
group_by(Time,mesh_size)%>%
summarize(mean_size=mean(percent_ml,na.rm=TRUE),
sd_size=sd(percent_ml,na.rm=TRUE),
se_size=sd(percent_ml,na.rm=TRUE)/sqrt(n()),
)## `summarise()` has grouped output by 'Time'. You can override using the
## `.groups` argument.
means_ml_mix
head(means_ml_mix)
dim(means_ml_mix)## # A tibble: 15 × 5
## # Groups: Time [5]
## Time mesh_size mean_size sd_size se_size
## <int> <fct> <dbl> <dbl> <dbl>
## 1 1 0.07 mm 9.55 5.87 0.536
## 2 1 2.0 mm 11.3 4.59 0.412
## 3 1 5.0 mm 11.3 4.11 0.378
## 4 3 0.07 mm 14.7 4.30 0.394
## 5 3 2.0 mm 17.2 4.80 0.451
## 6 3 5.0 mm 16.5 3.77 0.353
## 7 6 0.07 mm 19.3 5.37 0.501
## 8 6 2.0 mm 23.0 5.02 0.459
## 9 6 5.0 mm 23.2 5.31 0.481
## 10 9 0.07 mm 30.0 7.88 0.694
## 11 9 2.0 mm 31.2 8.10 0.711
## 12 9 5.0 mm 31.0 8.31 0.746
## 13 16 0.07 mm 43.9 7.74 0.701
## 14 16 2.0 mm 53.0 10.4 0.997
## 15 16 5.0 mm 54.9 13.1 1.25
## # A tibble: 6 × 5
## # Groups: Time [2]
## Time mesh_size mean_size sd_size se_size
## <int> <fct> <dbl> <dbl> <dbl>
## 1 1 0.07 mm 9.55 5.87 0.536
## 2 1 2.0 mm 11.3 4.59 0.412
## 3 1 5.0 mm 11.3 4.11 0.378
## 4 3 0.07 mm 14.7 4.30 0.394
## 5 3 2.0 mm 17.2 4.80 0.451
## 6 3 5.0 mm 16.5 3.77 0.353
## [1] 15 5
litter_mix_16months<- means_ml_mix[means_ml_mix$Time == "16",]
litter_mix_16months
max(litter_mix_16months$mean_size)
min(litter_mix_16months$mean_size)## # A tibble: 3 × 5
## # Groups: Time [1]
## Time mesh_size mean_size sd_size se_size
## <int> <fct> <dbl> <dbl> <dbl>
## 1 16 0.07 mm 43.9 7.74 0.701
## 2 16 2.0 mm 53.0 10.4 0.997
## 3 16 5.0 mm 54.9 13.1 1.25
## [1] 54.90276
## [1] 43.93242
litter_mix_16months<- litter[litter$Time == "16",]
means_ml_mix16<-litter_mix_16months%>%
group_by(No_species)%>%
summarize(mean_size=mean(percent_ml),
sd_size=sd(percent_ml),
se_size=sd(percent_ml)/sqrt(n()),
)
means_ml_mix16## # A tibble: 5 × 4
## No_species mean_size sd_size se_size
## <fct> <dbl> <dbl> <dbl>
## 1 1 50.4 13.2 1.68
## 2 2 50.8 13.0 1.13
## 3 3 50.2 10.4 0.916
## 4 4 50.3 11.3 1.38
## 5 5 45.9 7.98 2.52
hist(litter_mix$percent_ml)##distribution skewed to the lefthist(litter_mix$percent_ml^(1/2))#distribution looks betterplot(data=litter_mix, percent_ml~Time)plot(data=litter_mix, percent_ml~mesh_size)plot(data=litter_mix, percent_ml~No_species)plot(data=litter_mix, percent_ml~litter_type)litter_without_time_zero<-litter[!litter$Time == '0',]
fauna<- litter_without_time_zero %>%
group_by(species, No_species,mesh_size,Time) %>%
summarise(mean.percent_ml = mean(percent_ml, na.rm = TRUE))## `summarise()` has grouped output by 'species', 'No_species', 'mesh_size'. You
## can override using the `.groups` argument.
fauna
library(tidyr)
data_wide <- spread(fauna, mesh_size, mean.percent_ml)#Convert to wide format to have a column for each litterbag## # A tibble: 461 × 5
## # Groups: species, No_species, mesh_size [93]
## species No_species mesh_size Time mean.percent_ml
## <fct> <fct> <fct> <int> <dbl>
## 1 Kp 1 0.07 mm 1 10.2
## 2 Kp 1 0.07 mm 3 14.9
## 3 Kp 1 0.07 mm 6 21.2
## 4 Kp 1 0.07 mm 9 38.6
## 5 Kp 1 0.07 mm 16 53.2
## 6 Kp 1 2.0 mm 1 12.6
## 7 Kp 1 2.0 mm 3 17.8
## 8 Kp 1 2.0 mm 6 28.6
## 9 Kp 1 2.0 mm 9 43.6
## 10 Kp 1 2.0 mm 16 59.8
## # … with 451 more rows
## # ℹ Use `print(n = ...)` to see more rows
twomm<-ggplot(data_wide, aes(x=`0.07 mm` , y=`2.0 mm`, color=No_species,shape=as.factor(Time)))+ geom_point(size=5) +
scale_y_continuous(limits = c(0, 80))+
scale_x_continuous(limits = c(0, 80)) + labs(color="Species richness")+scale_shape_manual(values=c(0, 1, 2,5,9))+
geom_abline(slope=1, intercept=0.0,col="black",size = 1,linetype="dashed")+ ggtitle("b")+theme(legend.key = element_rect(fill = "transparent", colour = "transparent"))+
theme(legend.title = element_text(color = "black", size = 10),
legend.text = element_text(color = "black", size = 11))+
labs(x = "% Mass loss (0.07 mm mesh size)", y = "% Mass loss (2.0 mm mesh size)")+ theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position="none",
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
twommfivemm<-ggplot(data_wide, aes(x=`0.07 mm` , y=`5.0 mm`, color=No_species,shape=as.factor(Time)))+ geom_point(size=5) +
scale_y_continuous(limits = c(0, 80))+
scale_x_continuous(limits = c(0, 80)) + labs(color="Species richness")+scale_shape_manual(values=c(0, 1, 2,5,9))+
geom_abline(slope=1, intercept=0.0,col="black",size = 1,linetype="dashed")+ ggtitle("c")+
labs(x = "% Mass loss (0.07 mm mesh size)", y = "% Mass loss (5.0 mm mesh size)")+ theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position="none",
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
fivemmfivemm_2mm<-ggplot(data_wide, aes(x=`2.0 mm` , y=`5.0 mm`, color=No_species,shape=as.factor(Time)))+ geom_point(size=5) +
scale_y_continuous(limits = c(0, 80))+
scale_x_continuous(limits = c(0, 80)) + labs(color="Species richness",shape="Time in months")+scale_shape_manual(values=c(0, 1, 2,5,9))+
geom_abline(slope=1, intercept=0.0,col="black",size = 1,linetype="dashed")+ ggtitle("a")+
labs(x = "% Mass loss (2.0 mm mesh size)", y = "% Mass loss (5.0 mm mesh size)")+theme(legend.key = element_rect(fill = "transparent", colour = "transparent"))+
theme(legend.title = element_text(color = "black", size = 10),
legend.text = element_text(color = "black", size = 11))+
theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
legend.position=c(0.75,0.28),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
fivemm_2mmCombine the panels into one figure
library(patchwork)# ensures the panels are of equal size.
fig3<- fivemm_2mm + twomm + fivemm
fig3path<-getwd()
ggsave(filename="2mm$5mm.png", plot=fig3, device="png",
path=path, height=7, width=17, units="in", dpi=500)#saving the figure to my presentations folder.We need to calculate the average fauna (both macro and mesofauna) acceleration rate on decomposition. where
\[fauna acceleration rate = (MLwith_fauna- MLwithout_fauna)/ML without fauna*100\]
library(reshape2)##
## Attaching package: 'reshape2'
## The following objects are masked from 'package:data.table':
##
## dcast, melt
## The following object is masked from 'package:tidyr':
##
## smiths
litter_without_time_zero$litter_combination<-litter_without_time_zero$species
#dcast is a function that
fauna <- dcast(litter_without_time_zero, species+No_species+species_richness+initial_N+initial_C + C_N_ratio + initial_P+ LDMC+initial_lignin +initial_tannin+trait_dissimilarity+ Time+plot+litter_type+prop_slow_decomp+prop_gymn+litter_combination~mesh_size, value.var="percent_ml")
dim(fauna)
fauna$`0.07 mm`<- as.numeric(fauna$`0.07 mm`)
fauna$`2.0 mm`<-as.numeric(fauna$`2.0 mm`)
fauna$`5.0 mm`<-as.numeric(fauna$`5.0 mm`)## [1] 777 20
acceleration rate
accelerate_rate<- ((fauna$`5.0 mm`-fauna$`0.07 mm`)/fauna$`0.07 mm`)*100
#remove the infinite values
accelerate_rate[!is.finite(accelerate_rate)] <- NA
#omit all the NA values then find mean
acc<- na.omit(accelerate_rate)
mean(acc)## [1] 29.77187
Here we calculate the decay rate constant using the exponential equation. Start by converting the mass loss proportion to numeric
#convert percentage mass loss to proportions by dividing by 100
litter_without_time_zero$prop_mass_loss<-(litter_without_time_zero$percent_ml/100)
litter_without_time_zero$prop_mass_loss_expected<-(litter_without_time_zero$expected_mass_loss_0.07mm/100)
litter_without_time_zero$prop_mass_loss<-as.numeric(litter_without_time_zero$prop_mass_loss)convert data to a wide format to have each collection time in its own column
k_rate <- dcast(litter_without_time_zero, species+No_species+ species_richness + mesh_size+initial_N+initial_C + C_N_ratio + initial_P+ LDMC +trait_dissimilarity+ plot+prop_slow_decomp+prop_gymn+litter_combination~Time_month, value.var="prop_mass_loss")
k_rate$`nine months`<-as.numeric(k_rate$`nine months`)
k_rate$`six months`<- as.numeric(k_rate$`six months`)
k_rate$`three months`<- as.numeric(k_rate$`three months`)
k_rate$`one month`<- as.numeric(k_rate$`one month`)
k_rate$`sixteen months`<-as.numeric(k_rate$`sixteen months`)Time<-c(1/12,3/12,6/12,9/12,16/12)
a=k_rate$`one month`
b=k_rate$`three months`
c=k_rate$`six months`
d=k_rate$`nine months`
e=k_rate$`sixteen months`
xu.k<-function(a,b,c,d,e,Time){
p<-log(c(1-a,1-b,1-c,1-d,1-e))
k<- -coef(lm(p~0+Time,singular.ok=TRUE))
#print(p)
#plot(p~t)
return(k)
}
k_16_months<-NULL
for (i in 1:length(a)){
k_16_months[i]<-xu.k(a[i],b[i],c[i],d[i],e[i],Time)
}
#ml_k<-rbind(k_rate,xu.k.out)here we calculate the expected decay rate based on the 0.07 mm mesh size litterbags
library(reshape2)
k_rate_expected <- dcast(litter_without_time_zero, species+No_species+ species_richness + mesh_size+initial_N+initial_C + C_N_ratio + initial_P+ LDMC +trait_dissimilarity+ plot+prop_slow_decomp+prop_gymn+litter_combination~Time_month, value.var="prop_mass_loss_expected")
k_rate_expected$`nine months`<-as.numeric(k_rate_expected$`nine months`)
k_rate_expected$`six months`<- as.numeric(k_rate_expected$`six months`)
k_rate_expected$`three months`<- as.numeric(k_rate_expected$`three months`)
k_rate_expected$`one month`<- as.numeric(k_rate_expected$`one month`)
k_rate_expected$`sixteen months`<-as.numeric(k_rate_expected$`sixteen months`)
Time<-c(1/12,3/12,6/12,9/12,16/12)
a=k_rate_expected$`one month`
b=k_rate_expected$`three months`
c=k_rate_expected$`six months`
d=k_rate_expected$`nine months`
e=k_rate_expected$`sixteen months`
xu.k<-function(a,b,c,d,e,Time){
p<-log(c(1-a,1-b,1-c,1-d,1-e))
k<- -coef(lm(p~0+Time,singular.ok=TRUE))
#print(p)
#plot(p~t)
return(k)
}
k_16_months_expected<-NULL
for (i in 1:length(a)){
k_16_months_expected[i]<-xu.k(a[i],b[i],c[i],d[i],e[i],Time)
}Now let’s include obseved and expected k into one dataframe
library(dplyr)
litter_k <- data.frame(k_rate,observed_k=k_16_months,expected_k=k_16_months_expected)subset the litter mixtures decay rate by exluding single species litter
litter_k_mix<-litter_k[!litter_k$No_species == '1',]estimate the k value per species richness and mesh size and plot it
means_observed_k<-litter_k_mix %>%
group_by(No_species,mesh_size, trait_dissimilarity) %>%
summarise(mean.observed_k = mean(observed_k, na.rm = TRUE),
sd.observed_k = sd(observed_k, na.rm = TRUE),
n.observed_k = n()) %>%
mutate(se.observed_k = sd.observed_k / sqrt(n.observed_k),
lower_ci = mean.observed_k - qt(1 - (0.1 / 2), n.observed_k - 1) * se.observed_k,
upper_ci = mean.observed_k+ qt(1 - (0.1 / 2), n.observed_k - 1) * se.observed_k)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
means_observed_k$No_species<- as.numeric(means_observed_k$No_species)#plot the k values per species richness
means_observed_ks<-litter_k_mix %>%
group_by(No_species,mesh_size) %>%
summarise(mean.observed_k = mean(observed_k, na.rm = TRUE),
sd.observed_k = sd(observed_k, na.rm = TRUE),
n.observed_k = n()) %>%
mutate(se.observed_k = sd.observed_k / sqrt(n.observed_k),
lower_ci = mean.observed_k - qt(1 - (0.1 / 2), n.observed_k - 1) * se.observed_k,
upper_ci = mean.observed_k+ qt(1 - (0.1 / 2), n.observed_k - 1) * se.observed_k)## `summarise()` has grouped output by 'No_species'. You can override using the
## `.groups` argument.
means_observed_ks$No_species<- as.numeric(means_observed_ks$No_species)
means_observed_ks$mesh_size <- factor(means_observed_ks$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
spe_rich_k<- ggplot(data=means_observed_ks, aes(y=mean.observed_k, x=No_species, colour= mesh_size,shape=mesh_size)) + scale_y_continuous(limits = c(0.0, 1.0))+scale_x_continuous(limits = c(1.3, 5.9))+ scale_color_brewer(palette="Dark2")+geom_rect(data=NULL,aes(xmin=1.5,xmax=2.5,ymin=-Inf,ymax=Inf),
fill="lightgray", colour = NA, alpha = 0.1) +
geom_rect(data=NULL,aes(xmin=3.5,xmax=4.5,ymin=-Inf,ymax=Inf),
fill="lightgray", colour = NA, alpha = 0.1)+
geom_point(size=3, position = position_dodge(width=0.9))+ geom_errorbar(ymax=means_observed_ks$upper_ci,ymin=means_observed_ks$lower_ci,size=0.5, width=0.6,position = position_dodge(width = 0.9))+
theme(legend.position = c(0.2,0.8),legend.direction="vertical",legend.text=element_text(size=12,face="italic")) +labs(shape= "Mesh size",colour="Mesh size")+
guides(colour = FALSE)+ xlab("Species richnes in the mixture") +labs(y=expression(paste("Decomposition rate ",italic("(k) g/g/year"))))+ theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
spe_rich_kpath<-getwd()
ggsave(filename="figs6b.png", plot=spe_rich_k, device="png",
path=path, height=5, width=8, units="in", dpi=500)Calculate relative mixing effect and attach it on the litter data frame MER was calculated as Observed mass loss(percent_ml) divided by expected mass loss(percent_eml).
Please note that everything is here calculated based on the expected mass loss in mesh size 0.07 mm. Expected mass loss % = ∑fiMi where Mi is the mass loss in % of a single species in the 0.07 mm mesh size litterbags, and fi is the mass fraction of each litter in the mixture per replication plot in 0.07 mm mesh size. This means that the denominator of the ratio calculated is based on the expected mass loss in 0.07 mm mesh size. This follows a conceptual framework below.
New hypothetical framework of this study
FIGURE 1
#View(litter_mix)
litter_mix$observed_expected_ratio<-litter_mix$percent_ml/litter_mix$expected_mass_loss_0.07mm
hist(litter_mix$observed_expected_ratio)log transform
summary(litter_mix$observed_expected_ratio)## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.0000 0.9958 1.1970 1.3218 1.4434 11.3623 86
hist(log(litter_mix$observed_expected_ratio))# looks good but has - values which will result to errors in modelling so we can add a constant value to ensure the log is above zerosummary(litter_mix$observed_expected_ratio)## Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
## 0.0000 0.9958 1.1970 1.3218 1.4434 11.3623 86
hist(log(litter_mix$observed_expected_ratio+0.01))# looks ok We look for best set of variables explaining the ratio of expected and observed mass loss. For random effect we use litter combinations which are nested within the plots.
library(lme4)
str(litter_mix)## 'data.frame': 1788 obs. of 39 variables:
## $ code : chr "AB" "AB" "AB" "AB" ...
## $ id : Factor w/ 26 levels "2","3","4","5",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ species : Factor w/ 26 levels "Kp, Lf","Kp, Lf, Pm",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ prop_slow_decomp : num 0.5 0.5 0.5 0.5 0.5 0 0.5 0.5 0.5 0.5 ...
## $ prop_gymn : num 0 0 0 0 0 0 0 0 0 0 ...
## $ No_species : Factor w/ 4 levels "2","3","4","5": 1 1 1 1 1 1 1 1 1 1 ...
## $ species_richness : num 2 2 2 2 2 2 2 2 2 2 ...
## $ mesh_size : Factor w/ 3 levels "0.07 mm","2.0 mm",..: 1 2 3 1 2 1 3 1 3 3 ...
## $ size_mesh : chr "S" "M" "L" "S" ...
## $ Time : int 6 6 1 3 16 1 6 16 3 1 ...
## $ Time_month : chr "six months" "six months" "one month" "three months" ...
## $ initial.weight : num 9.34 9.34 9.34 9.34 9.34 ...
## $ plot : chr "R1" "R1" "R1" "R1" ...
## $ f_weight_with_envelope : chr "13.7" "13.07" "14.39" "13.76" ...
## $ Envelope_weight : chr "5.605" "5.605" "5.605" "5.605" ...
## $ f_weight : chr "8.095" "7.465" "8.785" "8.155" ...
## $ mass_loss_g : chr "1.24" "1.87" "0.55" "1.18" ...
## $ percent_ml : num 13.28 20.03 5.89 12.64 34.23 ...
## $ percent_eml : chr "13.65899442" "21.85174306" "9.639094234" "10.65700125" ...
## $ remaining_mass : chr "86.71665774" "79.96786288" "94.10819497" "87.35940011" ...
## $ perc_mass : chr "0.867166577" "0.799678629" "0.94108195" "0.873594001" ...
## $ mass_loss_prop : chr "0.132833423" "0.200321371" "0.05891805" "0.126405999" ...
## $ fast_species : int 0 0 0 0 0 1 0 0 0 0 ...
## $ slow_species : int 0 0 0 0 0 0 0 0 0 0 ...
## $ mixture : int 1 1 1 1 1 0 1 1 1 1 ...
## $ litter_type : Factor w/ 3 levels "fast","mixture",..: 2 2 2 2 2 1 2 2 2 2 ...
## $ expected_mass_loss_0.07mm: num 13.66 13.66 9.27 10.66 NaN ...
## $ plot_harvest : Factor w/ 25 levels "R1_1","R1_16",..: 4 4 1 3 22 1 9 12 3 11 ...
## $ trait_dissimilarity : num 3 3 3 3 3 ...
## $ initial_N : num 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 ...
## $ initial_C : num 47.3 47.3 47.3 47.3 47.3 ...
## $ initial_P : num 1.88 1.88 1.88 1.88 1.88 ...
## $ LDMC : num 0.441 0.441 0.441 0.441 0.441 ...
## $ C_N_ratio : num 48.5 48.5 48.5 48.5 48.5 ...
## $ initial_lignin : num 27.9 27.9 27.9 27.9 27.9 ...
## $ initial_tannin : num 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 ...
## $ carbN : num 48.5 48.5 48.5 48.5 48.5 ...
## $ litter_combination : Factor w/ 26 levels "Kp, Lf","Kp, Lf, Pm",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ observed_expected_ratio : num 0.972 1.467 0.636 1.186 NaN ...
litter_mix$plot<-as.factor(litter_mix$plot)
xm0<-lmer(log(observed_expected_ratio+0.01)~species_richness*trait_dissimilarity*mesh_size*Time+(1|plot/plot_harvest) + (1|litter_combination),data=litter_mix)
summary(xm0)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness * trait_dissimilarity *
## mesh_size * Time + (1 | plot/plot_harvest) + (1 | litter_combination)
## Data: litter_mix
##
## REML criterion at convergence: 1631.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0175 -0.4110 0.0230 0.4453 5.0033
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052964 0.07278
## plot_harvest:plot (Intercept) 0.0274834 0.16578
## plot (Intercept) 0.0003592 0.01895
## Residual 0.1327886 0.36440
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 1.183e+00 6.849e-01
## species_richness -4.364e-01 2.829e-01
## trait_dissimilarity -3.520e-01 2.191e-01
## mesh_size2.0 mm 1.782e-01 8.354e-01
## mesh_size5.0 mm -5.366e-01 8.376e-01
## Time -1.275e-01 7.328e-02
## species_richness:trait_dissimilarity 1.478e-01 9.117e-02
## species_richness:mesh_size2.0 mm 1.225e-01 3.454e-01
## species_richness:mesh_size5.0 mm 4.109e-01 3.465e-01
## trait_dissimilarity:mesh_size2.0 mm 3.983e-03 2.684e-01
## trait_dissimilarity:mesh_size5.0 mm 2.637e-01 2.690e-01
## species_richness:Time 4.732e-02 3.039e-02
## trait_dissimilarity:Time 3.911e-02 2.336e-02
## mesh_size2.0 mm:Time 1.646e-02 1.033e-01
## mesh_size5.0 mm:Time 6.073e-02 1.031e-01
## species_richness:trait_dissimilarity:mesh_size2.0 mm -3.463e-02 1.114e-01
## species_richness:trait_dissimilarity:mesh_size5.0 mm -1.373e-01 1.117e-01
## species_richness:trait_dissimilarity:Time -1.582e-02 9.783e-03
## species_richness:mesh_size2.0 mm:Time -1.989e-02 4.273e-02
## species_richness:mesh_size5.0 mm:Time -3.744e-02 4.275e-02
## trait_dissimilarity:mesh_size2.0 mm:Time -6.016e-03 3.301e-02
## trait_dissimilarity:mesh_size5.0 mm:Time -2.485e-02 3.299e-02
## species_richness:trait_dissimilarity:mesh_size2.0 mm:Time 5.713e-03 1.375e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm:Time 1.301e-02 1.376e-02
## df t value
## (Intercept) 1.900e+02 1.727
## species_richness 1.937e+02 -1.542
## trait_dissimilarity 1.855e+02 -1.607
## mesh_size2.0 mm 1.634e+03 0.213
## mesh_size5.0 mm 1.635e+03 -0.641
## Time 1.652e+03 -1.739
## species_richness:trait_dissimilarity 1.915e+02 1.621
## species_richness:mesh_size2.0 mm 1.635e+03 0.355
## species_richness:mesh_size5.0 mm 1.635e+03 1.186
## trait_dissimilarity:mesh_size2.0 mm 1.634e+03 0.015
## trait_dissimilarity:mesh_size5.0 mm 1.635e+03 0.980
## species_richness:Time 1.635e+03 1.557
## trait_dissimilarity:Time 1.635e+03 1.675
## mesh_size2.0 mm:Time 1.634e+03 0.159
## mesh_size5.0 mm:Time 1.634e+03 0.589
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.634e+03 -0.311
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.635e+03 -1.229
## species_richness:trait_dissimilarity:Time 1.635e+03 -1.617
## species_richness:mesh_size2.0 mm:Time 1.634e+03 -0.466
## species_richness:mesh_size5.0 mm:Time 1.634e+03 -0.876
## trait_dissimilarity:mesh_size2.0 mm:Time 1.634e+03 -0.182
## trait_dissimilarity:mesh_size5.0 mm:Time 1.634e+03 -0.753
## species_richness:trait_dissimilarity:mesh_size2.0 mm:Time 1.634e+03 0.415
## species_richness:trait_dissimilarity:mesh_size5.0 mm:Time 1.634e+03 0.946
## Pr(>|t|)
## (Intercept) 0.0858 .
## species_richness 0.1246
## trait_dissimilarity 0.1098
## mesh_size2.0 mm 0.8311
## mesh_size5.0 mm 0.5218
## Time 0.0821 .
## species_richness:trait_dissimilarity 0.1067
## species_richness:mesh_size2.0 mm 0.7228
## species_richness:mesh_size5.0 mm 0.2359
## trait_dissimilarity:mesh_size2.0 mm 0.9882
## trait_dissimilarity:mesh_size5.0 mm 0.3271
## species_richness:Time 0.1197
## trait_dissimilarity:Time 0.0942 .
## mesh_size2.0 mm:Time 0.8735
## mesh_size5.0 mm:Time 0.5558
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.7560
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.2192
## species_richness:trait_dissimilarity:Time 0.1061
## species_richness:mesh_size2.0 mm:Time 0.6416
## species_richness:mesh_size5.0 mm:Time 0.3813
## trait_dissimilarity:mesh_size2.0 mm:Time 0.8554
## trait_dissimilarity:mesh_size5.0 mm:Time 0.4514
## species_richness:trait_dissimilarity:mesh_size2.0 mm:Time 0.6778
## species_richness:trait_dissimilarity:mesh_size5.0 mm:Time 0.3444
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 24 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm0)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF
## species_richness 0.22924 0.22924 1
## trait_dissimilarity 0.38824 0.38824 1
## mesh_size 0.10601 0.05301 2
## Time 0.75273 0.75273 1
## species_richness:trait_dissimilarity 0.26892 0.26892 1
## species_richness:mesh_size 0.19807 0.09903 2
## trait_dissimilarity:mesh_size 0.16847 0.08424 2
## species_richness:Time 0.34772 0.34772 1
## trait_dissimilarity:Time 0.60539 0.60539 1
## mesh_size:Time 0.04933 0.02466 2
## species_richness:trait_dissimilarity:mesh_size 0.21835 0.10918 2
## species_richness:trait_dissimilarity:Time 0.38676 0.38676 1
## species_richness:mesh_size:Time 0.10194 0.05097 2
## trait_dissimilarity:mesh_size:Time 0.08203 0.04101 2
## species_richness:trait_dissimilarity:mesh_size:Time 0.11949 0.05974 2
## DenDF F value Pr(>F)
## species_richness 47.81 1.7264 0.19514
## trait_dissimilarity 47.21 2.9237 0.09385 .
## mesh_size 1634.53 0.3992 0.67093
## Time 1627.52 5.6686 0.01739 *
## species_richness:trait_dissimilarity 47.68 2.0252 0.16122
## species_richness:mesh_size 1634.72 0.7458 0.47451
## trait_dissimilarity:mesh_size 1634.37 0.6344 0.53040
## species_richness:Time 1636.24 2.6186 0.10581
## trait_dissimilarity:Time 1638.80 4.5591 0.03289 *
## mesh_size:Time 1634.31 0.1857 0.83052
## species_richness:trait_dissimilarity:mesh_size 1634.53 0.8222 0.43965
## species_richness:trait_dissimilarity:Time 1636.91 2.9126 0.08808 .
## species_richness:mesh_size:Time 1634.20 0.3838 0.68130
## trait_dissimilarity:mesh_size:Time 1634.06 0.3089 0.73432
## species_richness:trait_dissimilarity:mesh_size:Time 1634.04 0.4499 0.63776
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm0, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 %
## sd_(Intercept)|litter_combination 0.04296614
## sd_(Intercept)|plot_harvest:plot 0.12086291
## sd_(Intercept)|plot 0.00000000
## sigma 0.35030349
## (Intercept) -0.13022349
## species_richness -0.97848026
## trait_dissimilarity -0.77086904
## mesh_size2.0 mm -1.44944545
## mesh_size5.0 mm -2.16706005
## Time -0.27020875
## species_richness:trait_dissimilarity -0.02725093
## species_richness:mesh_size2.0 mm -0.55155125
## species_richness:mesh_size5.0 mm -0.26594228
## trait_dissimilarity:mesh_size2.0 mm -0.51987790
## trait_dissimilarity:mesh_size5.0 mm -0.26162372
## species_richness:Time -0.01199752
## trait_dissimilarity:Time -0.00647117
## mesh_size2.0 mm:Time -0.18497574
## mesh_size5.0 mm:Time -0.14031670
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.25156034
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.35480578
## species_richness:trait_dissimilarity:Time -0.03487181
## species_richness:mesh_size2.0 mm:Time -0.10320917
## species_richness:mesh_size5.0 mm:Time -0.12076884
## trait_dissimilarity:mesh_size2.0 mm:Time -0.07036968
## trait_dissimilarity:mesh_size5.0 mm:Time -0.08914241
## species_richness:trait_dissimilarity:mesh_size2.0 mm:Time -0.02110274
## species_richness:trait_dissimilarity:mesh_size5.0 mm:Time -0.01381959
## 97.5 %
## sd_(Intercept)|litter_combination 0.098561091
## sd_(Intercept)|plot_harvest:plot 0.221169621
## sd_(Intercept)|plot 0.141305304
## sigma 0.375005842
## (Intercept) 2.491809909
## species_richness 0.106087697
## trait_dissimilarity 0.067859537
## mesh_size2.0 mm 1.808383699
## mesh_size5.0 mm 1.099060006
## Time 0.015463543
## species_richness:trait_dissimilarity 0.322458477
## species_richness:mesh_size2.0 mm 0.795205010
## species_richness:mesh_size5.0 mm 1.085234294
## trait_dissimilarity:mesh_size2.0 mm 0.526641723
## trait_dissimilarity:mesh_size5.0 mm 0.787254782
## species_richness:Time 0.106516226
## trait_dissimilarity:Time 0.084601889
## mesh_size2.0 mm:Time 0.217945155
## mesh_size5.0 mm:Time 0.261602536
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.182915758
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.080909621
## species_richness:trait_dissimilarity:Time 0.003276937
## species_richness:mesh_size2.0 mm:Time 0.063424927
## species_richness:mesh_size5.0 mm:Time 0.045935877
## trait_dissimilarity:mesh_size2.0 mm:Time 0.058355504
## trait_dissimilarity:mesh_size5.0 mm:Time 0.039493807
## species_richness:trait_dissimilarity:mesh_size2.0 mm:Time 0.032514781
## species_richness:trait_dissimilarity:mesh_size5.0 mm:Time 0.039838949
All of the random factors including the nested random factors are significant since they don’t include zero in lower and upper confidence intervals.
-species_richness:trait_dissimilarity:mesh_size:Time
xm1<-update(xm0, .~.-species_richness:trait_dissimilarity:mesh_size:Time)
summary(xm1)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time + species_richness:trait_dissimilarity:mesh_size +
## species_richness:trait_dissimilarity:Time + species_richness:mesh_size:Time +
## trait_dissimilarity:mesh_size:Time
## Data: litter_mix
##
## REML criterion at convergence: 1618.5
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0000 -0.4091 0.0243 0.4474 5.0023
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052968 0.07278
## plot_harvest:plot (Intercept) 0.0274885 0.16580
## plot (Intercept) 0.0003549 0.01884
## Residual 0.1326995 0.36428
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 8.902e-01 5.741e-01
## species_richness -3.104e-01 2.329e-01
## trait_dissimilarity -2.572e-01 1.827e-01
## mesh_size2.0 mm 4.442e-01 5.355e-01
## mesh_size5.0 mm 7.009e-02 5.384e-01
## Time -8.239e-02 4.544e-02
## species_richness:trait_dissimilarity 1.070e-01 7.483e-02
## species_richness:mesh_size2.0 mm 7.915e-03 2.099e-01
## species_richness:mesh_size5.0 mm 1.510e-01 2.109e-01
## trait_dissimilarity:mesh_size2.0 mm -8.211e-02 1.696e-01
## trait_dissimilarity:mesh_size5.0 mm 6.678e-02 1.703e-01
## species_richness:Time 2.794e-02 1.768e-02
## trait_dissimilarity:Time 2.451e-02 1.410e-02
## mesh_size2.0 mm:Time -2.444e-02 2.898e-02
## mesh_size5.0 mm:Time -3.289e-02 2.876e-02
## species_richness:trait_dissimilarity:mesh_size2.0 mm 2.496e-03 6.698e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm -5.297e-02 6.726e-02
## species_richness:trait_dissimilarity:Time -9.533e-03 5.608e-03
## species_richness:mesh_size2.0 mm:Time -2.272e-03 5.273e-03
## species_richness:mesh_size5.0 mm:Time 2.675e-03 5.342e-03
## trait_dissimilarity:mesh_size2.0 mm:Time 7.232e-03 7.631e-03
## trait_dissimilarity:mesh_size5.0 mm:Time 5.514e-03 7.627e-03
## df t value
## (Intercept) 9.731e+01 1.551
## species_richness 9.255e+01 -1.333
## trait_dissimilarity 9.303e+01 -1.408
## mesh_size2.0 mm 1.636e+03 0.829
## mesh_size5.0 mm 1.637e+03 0.130
## Time 1.640e+03 -1.813
## species_richness:trait_dissimilarity 9.046e+01 1.429
## species_richness:mesh_size2.0 mm 1.637e+03 0.038
## species_richness:mesh_size5.0 mm 1.638e+03 0.716
## trait_dissimilarity:mesh_size2.0 mm 1.636e+03 -0.484
## trait_dissimilarity:mesh_size5.0 mm 1.637e+03 0.392
## species_richness:Time 1.638e+03 1.580
## trait_dissimilarity:Time 1.640e+03 1.739
## mesh_size2.0 mm:Time 1.638e+03 -0.843
## mesh_size5.0 mm:Time 1.637e+03 -1.144
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.637e+03 0.037
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.638e+03 -0.788
## species_richness:trait_dissimilarity:Time 1.639e+03 -1.700
## species_richness:mesh_size2.0 mm:Time 1.639e+03 -0.431
## species_richness:mesh_size5.0 mm:Time 1.637e+03 0.501
## trait_dissimilarity:mesh_size2.0 mm:Time 1.636e+03 0.948
## trait_dissimilarity:mesh_size5.0 mm:Time 1.636e+03 0.723
## Pr(>|t|)
## (Intercept) 0.1243
## species_richness 0.1858
## trait_dissimilarity 0.1625
## mesh_size2.0 mm 0.4070
## mesh_size5.0 mm 0.8964
## Time 0.0700 .
## species_richness:trait_dissimilarity 0.1563
## species_richness:mesh_size2.0 mm 0.9699
## species_richness:mesh_size5.0 mm 0.4742
## trait_dissimilarity:mesh_size2.0 mm 0.6283
## trait_dissimilarity:mesh_size5.0 mm 0.6950
## species_richness:Time 0.1143
## trait_dissimilarity:Time 0.0823 .
## mesh_size2.0 mm:Time 0.3992
## mesh_size5.0 mm:Time 0.2530
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.9703
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.4311
## species_richness:trait_dissimilarity:Time 0.0894 .
## species_richness:mesh_size2.0 mm:Time 0.6666
## species_richness:mesh_size5.0 mm:Time 0.6166
## trait_dissimilarity:mesh_size2.0 mm:Time 0.3434
## trait_dissimilarity:mesh_size5.0 mm:Time 0.4698
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 22 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm1)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF
## species_richness 0.22718 0.22718 1 47.79
## trait_dissimilarity 0.38672 0.38672 1 47.19
## mesh_size 0.10637 0.05318 2 1636.79
## Time 0.74940 0.74940 1 1629.33
## species_richness:trait_dissimilarity 0.26692 0.26692 1 47.65
## species_richness:mesh_size 0.08751 0.04375 2 1637.39
## trait_dissimilarity:mesh_size 0.10353 0.05177 2 1636.71
## species_richness:Time 0.34439 0.34439 1 1638.25
## trait_dissimilarity:Time 0.60279 0.60279 1 1640.81
## mesh_size:Time 0.18810 0.09405 2 1637.55
## species_richness:trait_dissimilarity:mesh_size 0.11685 0.05843 2 1637.19
## species_richness:trait_dissimilarity:Time 0.38342 0.38342 1 1638.92
## species_richness:mesh_size:Time 0.11026 0.05513 2 1638.72
## trait_dissimilarity:mesh_size:Time 0.13046 0.06523 2 1636.29
## F value Pr(>F)
## species_richness 1.7120 0.19698
## trait_dissimilarity 2.9142 0.09437 .
## mesh_size 0.4008 0.66986
## Time 5.6473 0.01760 *
## species_richness:trait_dissimilarity 2.0115 0.16262
## species_richness:mesh_size 0.3297 0.71917
## trait_dissimilarity:mesh_size 0.3901 0.67706
## species_richness:Time 2.5952 0.10738
## trait_dissimilarity:Time 4.5425 0.03321 *
## mesh_size:Time 0.7087 0.49242
## species_richness:trait_dissimilarity:mesh_size 0.4403 0.64393
## species_richness:trait_dissimilarity:Time 2.8894 0.08936 .
## species_richness:mesh_size:Time 0.4154 0.66011
## trait_dissimilarity:mesh_size:Time 0.4915 0.61177
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm1, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.042946850 0.098546576
## sd_(Intercept)|plot_harvest:plot 0.120861729 0.221165094
## sd_(Intercept)|plot 0.000000000 0.141113424
## sigma 0.350400315 0.375109450
## (Intercept) -0.206292077 1.985701257
## species_richness -0.754674901 0.134455855
## trait_dissimilarity -0.605812781 0.091745515
## mesh_size2.0 mm -0.599674307 1.489919670
## mesh_size5.0 mm -0.977802491 1.122898350
## Time -0.170933621 0.006268796
## species_richness:trait_dissimilarity -0.035956645 0.249697960
## species_richness:mesh_size2.0 mm -0.402123543 0.416760747
## species_richness:mesh_size5.0 mm -0.261690428 0.561317392
## trait_dissimilarity:mesh_size2.0 mm -0.413448758 0.248218763
## trait_dissimilarity:mesh_size5.0 mm -0.266285922 0.398275310
## species_richness:Time -0.006601229 0.062378306
## trait_dissimilarity:Time -0.003027140 0.051978302
## mesh_size2.0 mm:Time -0.080911060 0.032179291
## mesh_size5.0 mm:Time -0.089059392 0.023171043
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.127909043 0.133443764
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.183826460 0.078619850
## species_richness:trait_dissimilarity:Time -0.020458290 0.001425509
## species_richness:mesh_size2.0 mm:Time -0.012578273 0.007995648
## species_richness:mesh_size5.0 mm:Time -0.007738594 0.013105106
## trait_dissimilarity:mesh_size2.0 mm:Time -0.007662022 0.022112459
## trait_dissimilarity:mesh_size5.0 mm:Time -0.009356345 0.020404741
trait_dissimilarity:mesh_size:Time
xm2<-update(xm1, .~.-trait_dissimilarity:mesh_size:Time)
summary(xm2)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time + species_richness:trait_dissimilarity:mesh_size +
## species_richness:trait_dissimilarity:Time + species_richness:mesh_size:Time
## Data: litter_mix
##
## REML criterion at convergence: 1603.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0507 -0.4091 0.0262 0.4529 5.0002
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052942 0.07276
## plot_harvest:plot (Intercept) 0.0275279 0.16592
## plot (Intercept) 0.0003401 0.01844
## Residual 0.1326164 0.36417
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 9.702e-01 5.679e-01
## species_richness -3.083e-01 2.328e-01
## trait_dissimilarity -2.829e-01 1.807e-01
## mesh_size2.0 mm 2.960e-01 5.119e-01
## mesh_size5.0 mm -4.247e-02 5.148e-01
## Time -9.480e-02 4.356e-02
## species_richness:trait_dissimilarity 1.062e-01 7.480e-02
## species_richness:mesh_size2.0 mm 8.848e-03 2.098e-01
## species_richness:mesh_size5.0 mm 1.515e-01 2.109e-01
## trait_dissimilarity:mesh_size2.0 mm -3.493e-02 1.620e-01
## trait_dissimilarity:mesh_size5.0 mm 1.029e-01 1.627e-01
## species_richness:Time 2.766e-02 1.767e-02
## trait_dissimilarity:Time 2.845e-02 1.349e-02
## mesh_size2.0 mm:Time -1.388e-03 1.566e-02
## mesh_size5.0 mm:Time -1.552e-02 1.574e-02
## species_richness:trait_dissimilarity:mesh_size2.0 mm 2.446e-03 6.696e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm -5.301e-02 6.724e-02
## species_richness:trait_dissimilarity:Time -9.415e-03 5.605e-03
## species_richness:mesh_size2.0 mm:Time -2.480e-03 5.266e-03
## species_richness:mesh_size5.0 mm:Time 2.573e-03 5.338e-03
## df t value
## (Intercept) 9.338e+01 1.708
## species_richness 9.254e+01 -1.324
## trait_dissimilarity 8.920e+01 -1.566
## mesh_size2.0 mm 1.639e+03 0.578
## mesh_size5.0 mm 1.639e+03 -0.083
## Time 1.636e+03 -2.176
## species_richness:trait_dissimilarity 9.044e+01 1.419
## species_richness:mesh_size2.0 mm 1.639e+03 0.042
## species_richness:mesh_size5.0 mm 1.640e+03 0.718
## trait_dissimilarity:mesh_size2.0 mm 1.639e+03 -0.216
## trait_dissimilarity:mesh_size5.0 mm 1.639e+03 0.632
## species_richness:Time 1.640e+03 1.565
## trait_dissimilarity:Time 1.643e+03 2.109
## mesh_size2.0 mm:Time 1.642e+03 -0.089
## mesh_size5.0 mm:Time 1.639e+03 -0.986
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.639e+03 0.037
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.640e+03 -0.788
## species_richness:trait_dissimilarity:Time 1.641e+03 -1.680
## species_richness:mesh_size2.0 mm:Time 1.641e+03 -0.471
## species_richness:mesh_size5.0 mm:Time 1.639e+03 0.482
## Pr(>|t|)
## (Intercept) 0.0909 .
## species_richness 0.1887
## trait_dissimilarity 0.1210
## mesh_size2.0 mm 0.5633
## mesh_size5.0 mm 0.9342
## Time 0.0297 *
## species_richness:trait_dissimilarity 0.1592
## species_richness:mesh_size2.0 mm 0.9664
## species_richness:mesh_size5.0 mm 0.4726
## trait_dissimilarity:mesh_size2.0 mm 0.8294
## trait_dissimilarity:mesh_size5.0 mm 0.5273
## species_richness:Time 0.1177
## trait_dissimilarity:Time 0.0351 *
## mesh_size2.0 mm:Time 0.9294
## mesh_size5.0 mm:Time 0.3243
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.9709
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.4306
## species_richness:trait_dissimilarity:Time 0.0932 .
## species_richness:mesh_size2.0 mm:Time 0.6378
## species_richness:mesh_size5.0 mm:Time 0.6299
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 20 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm2)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF
## species_richness 0.22262 0.22262 1 47.77
## trait_dissimilarity 0.38060 0.38060 1 47.17
## mesh_size 0.06982 0.03491 2 1638.81
## Time 0.73414 0.73414 1 1630.99
## species_richness:trait_dissimilarity 0.26214 0.26214 1 47.64
## species_richness:mesh_size 0.08757 0.04378 2 1639.38
## trait_dissimilarity:mesh_size 0.10447 0.05224 2 1638.77
## species_richness:Time 0.33524 0.33524 1 1640.22
## trait_dissimilarity:Time 0.59004 0.59004 1 1642.75
## mesh_size:Time 0.15375 0.07687 2 1640.91
## species_richness:trait_dissimilarity:mesh_size 0.11691 0.05845 2 1639.18
## species_richness:trait_dissimilarity:Time 0.37411 0.37411 1 1640.89
## species_richness:mesh_size:Time 0.11513 0.05757 2 1640.68
## F value Pr(>F)
## species_richness 1.6786 0.20133
## trait_dissimilarity 2.8699 0.09684 .
## mesh_size 0.2632 0.76860
## Time 5.5358 0.01875 *
## species_richness:trait_dissimilarity 1.9767 0.16623
## species_richness:mesh_size 0.3301 0.71886
## trait_dissimilarity:mesh_size 0.3939 0.67450
## species_richness:Time 2.5279 0.11204
## trait_dissimilarity:Time 4.4492 0.03507 *
## mesh_size:Time 0.5797 0.56020
## species_richness:trait_dissimilarity:mesh_size 0.4408 0.64362
## species_richness:trait_dissimilarity:Time 2.8210 0.09323 .
## species_richness:mesh_size:Time 0.4341 0.64794
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm2, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.042912298 0.098513064
## sd_(Intercept)|plot_harvest:plot 0.120914381 0.221270582
## sd_(Intercept)|plot 0.000000000 0.140848768
## sigma 0.350504505 0.375220980
## (Intercept) -0.113798085 2.053749263
## species_richness -0.752449599 0.134173316
## trait_dissimilarity -0.627290015 0.059966559
## mesh_size2.0 mm -0.702289296 1.296388692
## mesh_size5.0 mm -1.045115303 0.964629093
## Time -0.179721229 -0.009779303
## species_richness:trait_dissimilarity -0.036758810 0.248874602
## species_richness:mesh_size2.0 mm -0.401305608 0.417804164
## species_richness:mesh_size5.0 mm -0.261308998 0.561896526
## trait_dissimilarity:mesh_size2.0 mm -0.351828879 0.280854403
## trait_dissimilarity:mesh_size5.0 mm -0.215447863 0.419726359
## species_richness:Time -0.006885825 0.062105610
## trait_dissimilarity:Time 0.002088516 0.054737962
## mesh_size2.0 mm:Time -0.031905535 0.029235821
## mesh_size5.0 mm:Time -0.046263576 0.015191860
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.127996453 0.133430709
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.183896716 0.078606230
## species_richness:trait_dissimilarity:Time -0.020340707 0.001543741
## species_richness:mesh_size2.0 mm:Time -0.012777831 0.007780620
## species_richness:mesh_size5.0 mm:Time -0.007839867 0.013002158
-species_richness:mesh_size:Time
xm3<-update(xm2, .~.-species_richness:mesh_size:Time)
summary(xm3)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time + species_richness:trait_dissimilarity:mesh_size +
## species_richness:trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1586.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0561 -0.4070 0.0274 0.4608 5.0008
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0053215 0.07295
## plot_harvest:plot (Intercept) 0.0274839 0.16578
## plot (Intercept) 0.0003592 0.01895
## Residual 0.1325204 0.36403
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 9.718e-01 5.656e-01
## species_richness -3.085e-01 2.321e-01
## trait_dissimilarity -2.835e-01 1.808e-01
## mesh_size2.0 mm 3.339e-01 5.040e-01
## mesh_size5.0 mm -8.389e-02 5.063e-01
## Time -9.507e-02 4.273e-02
## species_richness:trait_dissimilarity 1.063e-01 7.485e-02
## species_richness:mesh_size2.0 mm -4.442e-03 2.073e-01
## species_richness:mesh_size5.0 mm 1.659e-01 2.082e-01
## trait_dissimilarity:mesh_size2.0 mm -3.218e-02 1.620e-01
## trait_dissimilarity:mesh_size5.0 mm 1.016e-01 1.626e-01
## species_richness:Time 2.770e-02 1.741e-02
## trait_dissimilarity:Time 2.854e-02 1.348e-02
## mesh_size2.0 mm:Time -8.508e-03 4.407e-03
## mesh_size5.0 mm:Time -8.255e-03 4.430e-03
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.502e-03 6.693e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm -5.252e-02 6.721e-02
## species_richness:trait_dissimilarity:Time -9.436e-03 5.603e-03
## df t value
## (Intercept) 9.134e+01 1.718
## species_richness 9.084e+01 -1.329
## trait_dissimilarity 8.884e+01 -1.568
## mesh_size2.0 mm 1.641e+03 0.662
## mesh_size5.0 mm 1.641e+03 -0.166
## Time 1.634e+03 -2.225
## species_richness:trait_dissimilarity 9.007e+01 1.420
## species_richness:mesh_size2.0 mm 1.641e+03 -0.021
## species_richness:mesh_size5.0 mm 1.642e+03 0.797
## trait_dissimilarity:mesh_size2.0 mm 1.641e+03 -0.199
## trait_dissimilarity:mesh_size5.0 mm 1.641e+03 0.625
## species_richness:Time 1.642e+03 1.591
## trait_dissimilarity:Time 1.645e+03 2.117
## mesh_size2.0 mm:Time 1.642e+03 -1.930
## mesh_size5.0 mm:Time 1.641e+03 -1.864
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.641e+03 0.022
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.642e+03 -0.781
## species_richness:trait_dissimilarity:Time 1.643e+03 -1.684
## Pr(>|t|)
## (Intercept) 0.0892 .
## species_richness 0.1871
## trait_dissimilarity 0.1205
## mesh_size2.0 mm 0.5078
## mesh_size5.0 mm 0.8684
## Time 0.0262 *
## species_richness:trait_dissimilarity 0.1590
## species_richness:mesh_size2.0 mm 0.9829
## species_richness:mesh_size5.0 mm 0.4257
## trait_dissimilarity:mesh_size2.0 mm 0.8425
## trait_dissimilarity:mesh_size5.0 mm 0.5323
## species_richness:Time 0.1118
## trait_dissimilarity:Time 0.0344 *
## mesh_size2.0 mm:Time 0.0537 .
## mesh_size5.0 mm:Time 0.0625 .
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.9821
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.4347
## species_richness:trait_dissimilarity:Time 0.0924 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm3)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF
## species_richness 0.22178 0.22178 1 47.64
## trait_dissimilarity 0.37983 0.37983 1 47.05
## mesh_size 0.10325 0.05163 2 1640.81
## Time 0.73741 0.73741 1 1632.99
## species_richness:trait_dissimilarity 0.26128 0.26128 1 47.51
## species_richness:mesh_size 0.11709 0.05854 2 1641.39
## trait_dissimilarity:mesh_size 0.09928 0.04964 2 1640.77
## species_richness:Time 0.33554 0.33554 1 1642.23
## trait_dissimilarity:Time 0.59412 0.59412 1 1644.74
## mesh_size:Time 0.64165 0.32083 2 1641.64
## species_richness:trait_dissimilarity:mesh_size 0.11268 0.05634 2 1641.19
## species_richness:trait_dissimilarity:Time 0.37584 0.37584 1 1642.89
## F value Pr(>F)
## species_richness 1.6736 0.20202
## trait_dissimilarity 2.8662 0.09707 .
## mesh_size 0.3896 0.67741
## Time 5.5645 0.01845 *
## species_richness:trait_dissimilarity 1.9717 0.16678
## species_richness:mesh_size 0.4418 0.64297
## trait_dissimilarity:mesh_size 0.3746 0.68763
## species_richness:Time 2.5320 0.11175
## trait_dissimilarity:Time 4.4832 0.03438 *
## mesh_size:Time 2.4210 0.08915 .
## species_richness:trait_dissimilarity:mesh_size 0.4251 0.65375
## species_richness:trait_dissimilarity:Time 2.8361 0.09236 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm3, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.042999704 9.872287e-02
## sd_(Intercept)|plot_harvest:plot 0.117964341 2.211500e-01
## sd_(Intercept)|plot 0.000000000 1.381039e-01
## sigma 0.350583757 3.753253e-01
## (Intercept) -0.108718436 2.051334e+00
## species_richness -0.751559791 1.350684e-01
## trait_dissimilarity -0.628625938 6.198181e-02
## mesh_size2.0 mm -0.649206550 1.319785e+00
## mesh_size5.0 mm -1.070728076 9.072631e-01
## Time -0.178410828 -1.159450e-02
## species_richness:trait_dissimilarity -0.036749825 2.491876e-01
## species_richness:mesh_size2.0 mm -0.410157069 3.998379e-01
## species_richness:mesh_size5.0 mm -0.242028731 5.715255e-01
## trait_dissimilarity:mesh_size2.0 mm -0.349085235 2.836398e-01
## trait_dissimilarity:mesh_size5.0 mm -0.216824378 4.185163e-01
## species_richness:Time -0.006356912 6.165434e-02
## trait_dissimilarity:Time 0.002177840 5.484229e-02
## mesh_size2.0 mm:Time -0.017118478 9.948085e-05
## mesh_size5.0 mm:Time -0.016901636 4.033856e-04
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.128963815 1.325112e-01
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.183440437 7.914993e-02
## species_richness:trait_dissimilarity:Time -0.020365168 1.525846e-03
-trait_dissimilarity:mesh_size:Time
xm4<-update(xm3, .~.-trait_dissimilarity:mesh_size:Time)
summary(xm4)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time + species_richness:trait_dissimilarity:mesh_size +
## species_richness:trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1586.7
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0561 -0.4070 0.0274 0.4608 5.0008
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0053215 0.07295
## plot_harvest:plot (Intercept) 0.0274839 0.16578
## plot (Intercept) 0.0003592 0.01895
## Residual 0.1325204 0.36403
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 9.718e-01 5.656e-01
## species_richness -3.085e-01 2.321e-01
## trait_dissimilarity -2.835e-01 1.808e-01
## mesh_size2.0 mm 3.339e-01 5.040e-01
## mesh_size5.0 mm -8.389e-02 5.063e-01
## Time -9.507e-02 4.273e-02
## species_richness:trait_dissimilarity 1.063e-01 7.485e-02
## species_richness:mesh_size2.0 mm -4.442e-03 2.073e-01
## species_richness:mesh_size5.0 mm 1.659e-01 2.082e-01
## trait_dissimilarity:mesh_size2.0 mm -3.218e-02 1.620e-01
## trait_dissimilarity:mesh_size5.0 mm 1.016e-01 1.626e-01
## species_richness:Time 2.770e-02 1.741e-02
## trait_dissimilarity:Time 2.854e-02 1.348e-02
## mesh_size2.0 mm:Time -8.508e-03 4.407e-03
## mesh_size5.0 mm:Time -8.255e-03 4.430e-03
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.502e-03 6.693e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm -5.252e-02 6.721e-02
## species_richness:trait_dissimilarity:Time -9.436e-03 5.603e-03
## df t value
## (Intercept) 9.134e+01 1.718
## species_richness 9.084e+01 -1.329
## trait_dissimilarity 8.884e+01 -1.568
## mesh_size2.0 mm 1.641e+03 0.662
## mesh_size5.0 mm 1.641e+03 -0.166
## Time 1.634e+03 -2.225
## species_richness:trait_dissimilarity 9.007e+01 1.420
## species_richness:mesh_size2.0 mm 1.641e+03 -0.021
## species_richness:mesh_size5.0 mm 1.642e+03 0.797
## trait_dissimilarity:mesh_size2.0 mm 1.641e+03 -0.199
## trait_dissimilarity:mesh_size5.0 mm 1.641e+03 0.625
## species_richness:Time 1.642e+03 1.591
## trait_dissimilarity:Time 1.645e+03 2.117
## mesh_size2.0 mm:Time 1.642e+03 -1.930
## mesh_size5.0 mm:Time 1.641e+03 -1.864
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.641e+03 0.022
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.642e+03 -0.781
## species_richness:trait_dissimilarity:Time 1.643e+03 -1.684
## Pr(>|t|)
## (Intercept) 0.0892 .
## species_richness 0.1871
## trait_dissimilarity 0.1205
## mesh_size2.0 mm 0.5078
## mesh_size5.0 mm 0.8684
## Time 0.0262 *
## species_richness:trait_dissimilarity 0.1590
## species_richness:mesh_size2.0 mm 0.9829
## species_richness:mesh_size5.0 mm 0.4257
## trait_dissimilarity:mesh_size2.0 mm 0.8425
## trait_dissimilarity:mesh_size5.0 mm 0.5323
## species_richness:Time 0.1118
## trait_dissimilarity:Time 0.0344 *
## mesh_size2.0 mm:Time 0.0537 .
## mesh_size5.0 mm:Time 0.0625 .
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.9821
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.4347
## species_richness:trait_dissimilarity:Time 0.0924 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 18 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm4)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF
## species_richness 0.22178 0.22178 1 47.64
## trait_dissimilarity 0.37983 0.37983 1 47.05
## mesh_size 0.10325 0.05163 2 1640.81
## Time 0.73741 0.73741 1 1632.99
## species_richness:trait_dissimilarity 0.26128 0.26128 1 47.51
## species_richness:mesh_size 0.11709 0.05854 2 1641.39
## trait_dissimilarity:mesh_size 0.09928 0.04964 2 1640.77
## species_richness:Time 0.33554 0.33554 1 1642.23
## trait_dissimilarity:Time 0.59412 0.59412 1 1644.74
## mesh_size:Time 0.64165 0.32083 2 1641.64
## species_richness:trait_dissimilarity:mesh_size 0.11268 0.05634 2 1641.19
## species_richness:trait_dissimilarity:Time 0.37584 0.37584 1 1642.89
## F value Pr(>F)
## species_richness 1.6736 0.20202
## trait_dissimilarity 2.8662 0.09707 .
## mesh_size 0.3896 0.67741
## Time 5.5645 0.01845 *
## species_richness:trait_dissimilarity 1.9717 0.16678
## species_richness:mesh_size 0.4418 0.64297
## trait_dissimilarity:mesh_size 0.3746 0.68763
## species_richness:Time 2.5320 0.11175
## trait_dissimilarity:Time 4.4832 0.03438 *
## mesh_size:Time 2.4210 0.08915 .
## species_richness:trait_dissimilarity:mesh_size 0.4251 0.65375
## species_richness:trait_dissimilarity:Time 2.8361 0.09236 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm4, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.042999704 9.872287e-02
## sd_(Intercept)|plot_harvest:plot 0.117964341 2.211500e-01
## sd_(Intercept)|plot 0.000000000 1.381039e-01
## sigma 0.350583757 3.753253e-01
## (Intercept) -0.108718436 2.051334e+00
## species_richness -0.751559791 1.350684e-01
## trait_dissimilarity -0.628625938 6.198181e-02
## mesh_size2.0 mm -0.649206550 1.319785e+00
## mesh_size5.0 mm -1.070728076 9.072631e-01
## Time -0.178410828 -1.159450e-02
## species_richness:trait_dissimilarity -0.036749825 2.491876e-01
## species_richness:mesh_size2.0 mm -0.410157069 3.998379e-01
## species_richness:mesh_size5.0 mm -0.242028731 5.715255e-01
## trait_dissimilarity:mesh_size2.0 mm -0.349085235 2.836398e-01
## trait_dissimilarity:mesh_size5.0 mm -0.216824378 4.185163e-01
## species_richness:Time -0.006356912 6.165434e-02
## trait_dissimilarity:Time 0.002177840 5.484229e-02
## mesh_size2.0 mm:Time -0.017118478 9.948085e-05
## mesh_size5.0 mm:Time -0.016901636 4.033856e-04
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.128963815 1.325112e-01
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.183440437 7.914993e-02
## species_richness:trait_dissimilarity:Time -0.020365168 1.525846e-03
-species_richness:trait_dissimilarity:Time
xm5<-update(xm4, .~.-species_richness:trait_dissimilarity:Time)
summary(xm5)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time + species_richness:trait_dissimilarity:mesh_size
## Data: litter_mix
##
## REML criterion at convergence: 1581
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0151 -0.4054 0.0230 0.4416 4.9936
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052895 0.07273
## plot_harvest:plot (Intercept) 0.0275946 0.16612
## plot (Intercept) 0.0003132 0.01770
## Residual 0.1326713 0.36424
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error
## (Intercept) 5.292e-01 5.004e-01
## species_richness -1.195e-01 2.029e-01
## trait_dissimilarity -1.401e-01 1.594e-01
## mesh_size2.0 mm 3.382e-01 5.043e-01
## mesh_size5.0 mm -8.102e-02 5.066e-01
## Time -2.693e-02 1.376e-02
## species_richness:trait_dissimilarity 4.500e-02 6.533e-02
## species_richness:mesh_size2.0 mm -6.478e-03 2.074e-01
## species_richness:mesh_size5.0 mm 1.645e-01 2.083e-01
## trait_dissimilarity:mesh_size2.0 mm -3.314e-02 1.620e-01
## trait_dissimilarity:mesh_size5.0 mm 1.010e-01 1.627e-01
## species_richness:Time -1.379e-03 2.206e-03
## trait_dissimilarity:Time 6.474e-03 3.164e-03
## mesh_size2.0 mm:Time -8.454e-03 4.410e-03
## mesh_size5.0 mm:Time -8.295e-03 4.432e-03
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.960e-03 6.696e-02
## species_richness:trait_dissimilarity:mesh_size5.0 mm -5.220e-02 6.725e-02
## df t value
## (Intercept) 5.699e+01 1.058
## species_richness 5.412e+01 -0.589
## trait_dissimilarity 5.461e+01 -0.879
## mesh_size2.0 mm 1.642e+03 0.671
## mesh_size5.0 mm 1.642e+03 -0.160
## Time 3.105e+02 -1.957
## species_richness:trait_dissimilarity 5.330e+01 0.689
## species_richness:mesh_size2.0 mm 1.642e+03 -0.031
## species_richness:mesh_size5.0 mm 1.643e+03 0.790
## trait_dissimilarity:mesh_size2.0 mm 1.642e+03 -0.205
## trait_dissimilarity:mesh_size5.0 mm 1.642e+03 0.621
## species_richness:Time 1.658e+03 -0.625
## trait_dissimilarity:Time 1.656e+03 2.046
## mesh_size2.0 mm:Time 1.643e+03 -1.917
## mesh_size5.0 mm:Time 1.642e+03 -1.872
## species_richness:trait_dissimilarity:mesh_size2.0 mm 1.642e+03 0.029
## species_richness:trait_dissimilarity:mesh_size5.0 mm 1.643e+03 -0.776
## Pr(>|t|)
## (Intercept) 0.2947
## species_richness 0.5585
## trait_dissimilarity 0.3830
## mesh_size2.0 mm 0.5025
## mesh_size5.0 mm 0.8729
## Time 0.0512 .
## species_richness:trait_dissimilarity 0.4940
## species_richness:mesh_size2.0 mm 0.9751
## species_richness:mesh_size5.0 mm 0.4298
## trait_dissimilarity:mesh_size2.0 mm 0.8380
## trait_dissimilarity:mesh_size5.0 mm 0.5349
## species_richness:Time 0.5319
## trait_dissimilarity:Time 0.0409 *
## mesh_size2.0 mm:Time 0.0554 .
## mesh_size5.0 mm:Time 0.0614 .
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.9767
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.4378
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 17 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm5)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF
## species_richness 0.02258 0.02258 1 22.03
## trait_dissimilarity 0.11180 0.11180 1 22.87
## mesh_size 0.10454 0.05227 2 1641.77
## Time 0.76218 0.76218 1 294.99
## species_richness:trait_dissimilarity 0.03894 0.03894 1 21.72
## species_richness:mesh_size 0.11670 0.05835 2 1642.35
## trait_dissimilarity:mesh_size 0.09942 0.04971 2 1641.74
## species_richness:Time 0.05186 0.05186 1 1657.52
## trait_dissimilarity:Time 0.55534 0.55534 1 1656.33
## mesh_size:Time 0.64030 0.32015 2 1642.60
## species_richness:trait_dissimilarity:mesh_size 0.11235 0.05618 2 1642.15
## F value Pr(>F)
## species_richness 0.1702 0.68393
## trait_dissimilarity 0.8427 0.36821
## mesh_size 0.3940 0.67444
## Time 5.7449 0.01716 *
## species_richness:trait_dissimilarity 0.2935 0.59350
## species_richness:mesh_size 0.4398 0.64424
## trait_dissimilarity:mesh_size 0.3747 0.68756
## species_richness:Time 0.3909 0.53192
## trait_dissimilarity:Time 4.1858 0.04092 *
## mesh_size:Time 2.4131 0.08986 .
## species_richness:trait_dissimilarity:mesh_size 0.4234 0.65487
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm5, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 %
## sd_(Intercept)|litter_combination 0.0427800713
## sd_(Intercept)|plot_harvest:plot 0.1181421695
## sd_(Intercept)|plot 0.0000000000
## sigma 0.3508890844
## (Intercept) -0.4233582533
## species_richness -0.5057314770
## trait_dissimilarity -0.4435308999
## mesh_size2.0 mm -0.6457369775
## mesh_size5.0 mm -1.0687251342
## Time -0.0537266878
## species_richness:trait_dissimilarity -0.0794151905
## species_richness:mesh_size2.0 mm -0.4125362453
## species_richness:mesh_size5.0 mm -0.2437566598
## trait_dissimilarity:mesh_size2.0 mm -0.3503187651
## trait_dissimilarity:mesh_size5.0 mm -0.2177021035
## species_richness:Time -0.0056913484
## trait_dissimilarity:Time 0.0002990996
## mesh_size2.0 mm:Time -0.0170725131
## mesh_size5.0 mm:Time -0.0169494134
## species_richness:trait_dissimilarity:mesh_size2.0 mm -0.1286190122
## species_richness:trait_dissimilarity:mesh_size5.0 mm -0.1832315702
## 97.5 %
## sd_(Intercept)|litter_combination 0.0984668606
## sd_(Intercept)|plot_harvest:plot 0.2214497940
## sd_(Intercept)|plot 0.1379136222
## sigma 0.3756538614
## (Intercept) 1.4817302534
## species_richness 0.2669810812
## trait_dissimilarity 0.1633140513
## mesh_size2.0 mm 1.3249489367
## mesh_size5.0 mm 0.9109823741
## Time -0.0002267980
## species_richness:trait_dissimilarity 0.1693597278
## species_richness:mesh_size2.0 mm 0.3981525002
## species_richness:mesh_size5.0 mm 0.5705004473
## trait_dissimilarity:mesh_size2.0 mm 0.2829551133
## trait_dissimilarity:mesh_size5.0 mm 0.4181916523
## species_richness:Time 0.0029297788
## trait_dissimilarity:Time 0.0126629980
## mesh_size2.0 mm:Time 0.0001600632
## mesh_size5.0 mm:Time 0.0003705083
## species_richness:trait_dissimilarity:mesh_size2.0 mm 0.1330822160
## species_richness:trait_dissimilarity:mesh_size5.0 mm 0.0795867272
-species_richness:trait_dissimilarity:mesh_size
xm6<-update(xm5, .~.-species_richness:trait_dissimilarity:mesh_size)
summary(xm6)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time +
## mesh_size:Time
## Data: litter_mix
##
## REML criterion at convergence: 1574.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0088 -0.4063 0.0164 0.4481 4.9939
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.005271 0.07260
## plot_harvest:plot (Intercept) 0.027605 0.16615
## plot (Intercept) 0.000319 0.01786
## Residual 0.132582 0.36412
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 4.080e-01 4.111e-01 2.625e+01 0.993
## species_richness -6.774e-02 1.624e-01 2.244e+01 -0.417
## trait_dissimilarity -1.007e-01 1.297e-01 2.421e+01 -0.777
## mesh_size2.0 mm 3.238e-01 1.417e-01 1.644e+03 2.285
## mesh_size5.0 mm 2.964e-01 1.426e-01 1.644e+03 2.079
## Time -2.696e-02 1.376e-02 3.101e+02 -1.960
## species_richness:trait_dissimilarity 2.820e-02 5.207e-02 2.173e+01 0.542
## species_richness:mesh_size2.0 mm -6.149e-04 2.575e-02 1.646e+03 -0.024
## species_richness:mesh_size5.0 mm 4.105e-03 2.554e-02 1.645e+03 0.161
## trait_dissimilarity:mesh_size2.0 mm -2.836e-02 3.786e-02 1.644e+03 -0.749
## trait_dissimilarity:mesh_size5.0 mm -2.188e-02 3.810e-02 1.644e+03 -0.574
## species_richness:Time -1.382e-03 2.205e-03 1.660e+03 -0.626
## trait_dissimilarity:Time 6.480e-03 3.163e-03 1.658e+03 2.048
## mesh_size2.0 mm:Time -8.447e-03 4.408e-03 1.645e+03 -1.916
## mesh_size5.0 mm:Time -8.300e-03 4.430e-03 1.644e+03 -1.874
## Pr(>|t|)
## (Intercept) 0.3300
## species_richness 0.6805
## trait_dissimilarity 0.4448
## mesh_size2.0 mm 0.0225 *
## mesh_size5.0 mm 0.0378 *
## Time 0.0509 .
## species_richness:trait_dissimilarity 0.5936
## species_richness:mesh_size2.0 mm 0.9810
## species_richness:mesh_size5.0 mm 0.8723
## trait_dissimilarity:mesh_size2.0 mm 0.4540
## trait_dissimilarity:mesh_size5.0 mm 0.5659
## species_richness:Time 0.5311
## trait_dissimilarity:Time 0.0407 *
## mesh_size2.0 mm:Time 0.0555 .
## mesh_size5.0 mm:Time 0.0612 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 15 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm6)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value
## species_richness 0.02249 0.02249 1 22.04 0.1696
## trait_dissimilarity 0.11194 0.11194 1 22.88 0.8443
## mesh_size 0.84826 0.42413 2 1643.98 3.1990
## Time 0.76321 0.76321 1 294.62 5.7565
## species_richness:trait_dissimilarity 0.03888 0.03888 1 21.73 0.2933
## species_richness:mesh_size 0.00527 0.00263 2 1644.85 0.0199
## trait_dissimilarity:mesh_size 0.08115 0.04058 2 1643.94 0.3060
## species_richness:Time 0.05203 0.05203 1 1659.53 0.3924
## trait_dissimilarity:Time 0.55628 0.55628 1 1658.35 4.1957
## mesh_size:Time 0.64013 0.32007 2 1644.61 2.4141
## Pr(>F)
## species_richness 0.68441
## trait_dissimilarity 0.36775
## mesh_size 0.04106 *
## Time 0.01705 *
## species_richness:trait_dissimilarity 0.59365
## species_richness:mesh_size 0.98033
## trait_dissimilarity:mesh_size 0.73640
## species_richness:Time 0.53110
## trait_dissimilarity:Time 0.04068 *
## mesh_size:Time 0.08976 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm6, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0427250447 0.0982898602
## sd_(Intercept)|plot_harvest:plot 0.1209978008 0.2214956175
## sd_(Intercept)|plot 0.0000000000 0.1397476544
## sigma 0.3509937530 0.3757446149
## (Intercept) -0.3682974538 1.1663104768
## species_richness -0.3766547792 0.2392525657
## trait_dissimilarity -0.3474326483 0.1438683713
## mesh_size2.0 mm 0.0461439819 0.6003647708
## mesh_size5.0 mm 0.0171495705 0.5745892356
## Time -0.0537419434 -0.0003112420
## species_richness:trait_dissimilarity -0.0699762536 0.1272604974
## species_richness:mesh_size2.0 mm -0.0508391817 0.0498510301
## species_richness:mesh_size5.0 mm -0.0458311836 0.0540350826
## trait_dissimilarity:mesh_size2.0 mm -0.1022848911 0.0457583456
## trait_dissimilarity:mesh_size5.0 mm -0.0962412461 0.0527543185
## species_richness:Time -0.0056935014 0.0029281568
## trait_dissimilarity:Time 0.0003030509 0.0126694648
## mesh_size2.0 mm:Time -0.0170666945 0.0001691218
## mesh_size5.0 mm:Time -0.0169564240 0.0003671911
-mesh_size:Time
xm7<-update(xm6, .~.-mesh_size:Time )
summary(xm7)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + species_richness:Time + trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1560.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.0792 -0.4001 0.0147 0.4479 4.9053
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052552 0.07249
## plot_harvest:plot (Intercept) 0.0276948 0.16642
## plot (Intercept) 0.0002953 0.01719
## Residual 0.1328087 0.36443
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 4.377e-01 4.106e-01 2.621e+01 1.066
## species_richness -6.684e-02 1.623e-01 2.245e+01 -0.412
## trait_dissimilarity -9.849e-02 1.296e-01 2.422e+01 -0.760
## mesh_size2.0 mm 2.733e-01 1.395e-01 1.646e+03 1.959
## mesh_size5.0 mm 2.434e-01 1.398e-01 1.646e+03 1.741
## Time -3.204e-02 1.357e-02 2.934e+02 -2.361
## species_richness:trait_dissimilarity 2.781e-02 5.203e-02 2.173e+01 0.535
## species_richness:mesh_size2.0 mm -3.057e-04 2.577e-02 1.648e+03 -0.012
## species_richness:mesh_size5.0 mm 5.126e-03 2.555e-02 1.647e+03 0.201
## trait_dissimilarity:mesh_size2.0 mm -3.015e-02 3.788e-02 1.645e+03 -0.796
## trait_dissimilarity:mesh_size5.0 mm -2.321e-02 3.813e-02 1.646e+03 -0.609
## species_richness:Time -1.414e-03 2.207e-03 1.662e+03 -0.641
## trait_dissimilarity:Time 6.397e-03 3.165e-03 1.660e+03 2.021
## Pr(>|t|)
## (Intercept) 0.2961
## species_richness 0.6843
## trait_dissimilarity 0.4545
## mesh_size2.0 mm 0.0503 .
## mesh_size5.0 mm 0.0819 .
## Time 0.0189 *
## species_richness:trait_dissimilarity 0.5984
## species_richness:mesh_size2.0 mm 0.9905
## species_richness:mesh_size5.0 mm 0.8410
## trait_dissimilarity:mesh_size2.0 mm 0.4262
## trait_dissimilarity:mesh_size5.0 mm 0.5427
## species_richness:Time 0.5219
## trait_dissimilarity:Time 0.0434 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation matrix not shown by default, as p = 13 > 12.
## Use print(x, correlation=TRUE) or
## vcov(x) if you need it
anova(xm7)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value
## species_richness 0.02167 0.02167 1 22.04 0.1632
## trait_dissimilarity 0.11003 0.11003 1 22.88 0.8285
## mesh_size 0.61355 0.30678 2 1646.21 2.3099
## Time 0.74006 0.74006 1 293.40 5.5724
## species_richness:trait_dissimilarity 0.03796 0.03796 1 21.73 0.2858
## species_richness:mesh_size 0.00747 0.00374 2 1646.81 0.0281
## trait_dissimilarity:mesh_size 0.09169 0.04585 2 1645.88 0.3452
## species_richness:Time 0.05450 0.05450 1 1661.60 0.4104
## trait_dissimilarity:Time 0.54240 0.54240 1 1660.30 4.0841
## Pr(>F)
## species_richness 0.69016
## trait_dissimilarity 0.37221
## mesh_size 0.09959 .
## Time 0.01890 *
## species_richness:trait_dissimilarity 0.59836
## species_richness:mesh_size 0.97227
## trait_dissimilarity:mesh_size 0.70812
## species_richness:Time 0.52187
## trait_dissimilarity:Time 0.04345 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm7, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0425804746 0.098165060
## sd_(Intercept)|plot_harvest:plot 0.1211014627 0.221796549
## sd_(Intercept)|plot 0.0000000000 0.138783847
## sigma 0.3515074568 0.376295863
## (Intercept) -0.3341570971 1.216687058
## species_richness -0.3753549631 0.237981542
## trait_dissimilarity -0.3449560978 0.148053578
## mesh_size2.0 mm -0.0002104109 0.545724337
## mesh_size5.0 mm -0.0306410408 0.516448394
## Time -0.0584884382 -0.005697643
## species_richness:trait_dissimilarity -0.0695849461 0.126785699
## species_richness:mesh_size2.0 mm -0.0505977588 0.050237892
## species_richness:mesh_size5.0 mm -0.0448678721 0.055113129
## trait_dissimilarity:mesh_size2.0 mm -0.1041537149 0.044042015
## trait_dissimilarity:mesh_size5.0 mm -0.0976659164 0.051520335
## species_richness:Time -0.0057318612 0.002900847
## trait_dissimilarity:Time 0.0002132320 0.012596047
-species_richness:Time
xm8<-update(xm7, .~.-species_richness:Time )
summary(xm8)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:mesh_size + trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1551
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.1009 -0.4038 0.0113 0.4452 4.9087
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052534 0.07248
## plot_harvest:plot (Intercept) 0.0278273 0.16682
## plot (Intercept) 0.0002255 0.01502
## Residual 0.1327572 0.36436
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 4.618e-01 4.088e-01 2.576e+01 1.130
## species_richness -7.530e-02 1.617e-01 2.215e+01 -0.466
## trait_dissimilarity -9.809e-02 1.296e-01 2.421e+01 -0.757
## mesh_size2.0 mm 2.732e-01 1.395e-01 1.647e+03 1.959
## mesh_size5.0 mm 2.428e-01 1.398e-01 1.647e+03 1.737
## Time -3.599e-02 1.209e-02 1.845e+02 -2.978
## species_richness:trait_dissimilarity 2.761e-02 5.202e-02 2.173e+01 0.531
## species_richness:mesh_size2.0 mm -3.665e-04 2.577e-02 1.649e+03 -0.014
## species_richness:mesh_size5.0 mm 5.529e-03 2.554e-02 1.648e+03 0.216
## trait_dissimilarity:mesh_size2.0 mm -3.010e-02 3.787e-02 1.646e+03 -0.795
## trait_dissimilarity:mesh_size5.0 mm -2.338e-02 3.812e-02 1.647e+03 -0.613
## trait_dissimilarity:Time 6.419e-03 3.165e-03 1.661e+03 2.028
## Pr(>|t|)
## (Intercept) 0.26895
## species_richness 0.64596
## trait_dissimilarity 0.45628
## mesh_size2.0 mm 0.05034 .
## mesh_size5.0 mm 0.08256 .
## Time 0.00329 **
## species_richness:trait_dissimilarity 0.60093
## species_richness:mesh_size2.0 mm 0.98865
## species_richness:mesh_size5.0 mm 0.82865
## trait_dissimilarity:mesh_size2.0 mm 0.42686
## trait_dissimilarity:mesh_size5.0 mm 0.53985
## trait_dissimilarity:Time 0.04267 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r trt_ds m_2.0m m_5.0m Time spc_:_ s_:_2m s_:_5m
## spcs_rchnss -0.936
## trt_dssmlrt -0.973 0.934
## msh_sz2.0mm -0.170 0.039 0.123
## msh_sz5.0mm -0.168 0.039 0.122 0.497
## Time -0.192 0.000 0.129 0.009 -0.001
## spcs_rchn:_ 0.920 -0.988 -0.945 0.001 0.001 0.001
## spcs_:_2.0m 0.092 -0.082 -0.004 -0.528 -0.252 -0.008 0.005
## spcs_:_5.0m 0.090 -0.082 -0.001 -0.255 -0.521 0.004 0.004 0.491
## trt_d:_2.0m 0.141 0.005 -0.146 -0.835 -0.421 -0.004 -0.004 0.000 -0.006
## trt_d:_5.0m 0.140 0.004 -0.145 -0.419 -0.838 0.000 -0.003 -0.005 -0.003
## trt_dssml:T 0.157 -0.001 -0.159 -0.007 0.003 -0.828 0.001 0.005 -0.005
## t_:_2m t_:_5m
## spcs_rchnss
## trt_dssmlrt
## msh_sz2.0mm
## msh_sz5.0mm
## Time
## spcs_rchn:_
## spcs_:_2.0m
## spcs_:_5.0m
## trt_d:_2.0m
## trt_d:_5.0m 0.507
## trt_dssml:T 0.003 -0.001
anova(xm8)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value
## species_richness 0.02775 0.02775 1 21.75 0.2090
## trait_dissimilarity 0.10934 0.10934 1 22.88 0.8236
## mesh_size 0.61217 0.30609 2 1647.16 2.3056
## Time 1.17734 1.17734 1 184.53 8.8684
## species_richness:trait_dissimilarity 0.03741 0.03741 1 21.73 0.2818
## species_richness:mesh_size 0.00876 0.00438 2 1647.72 0.0330
## trait_dissimilarity:mesh_size 0.09177 0.04589 2 1646.83 0.3456
## trait_dissimilarity:Time 0.54625 0.54625 1 1661.50 4.1146
## Pr(>F)
## species_richness 0.652091
## trait_dissimilarity 0.373592
## mesh_size 0.100019
## Time 0.003291 **
## species_richness:trait_dissimilarity 0.600925
## species_richness:mesh_size 0.967550
## trait_dissimilarity:mesh_size 0.707812
## trait_dissimilarity:Time 0.042673 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm8, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0425553051 0.09813983
## sd_(Intercept)|plot_harvest:plot 0.1212465154 0.22212237
## sd_(Intercept)|plot 0.0000000000 0.13852118
## sigma 0.3515459962 0.37634659
## (Intercept) -0.3146406013 1.23860303
## species_richness -0.3828220581 0.23234720
## trait_dissimilarity -0.3443871105 0.14827316
## mesh_size2.0 mm -0.0003702056 0.54564912
## mesh_size5.0 mm -0.0312675280 0.51589351
## Time -0.0595275552 -0.01253793
## species_richness:trait_dissimilarity -0.0713714375 0.12655029
## species_richness:mesh_size2.0 mm -0.0506638614 0.05018647
## species_richness:mesh_size5.0 mm -0.0444543121 0.05550668
## trait_dissimilarity:mesh_size2.0 mm -0.1041101210 0.04410630
## trait_dissimilarity:mesh_size5.0 mm -0.0978323130 0.05137197
## trait_dissimilarity:Time 0.0002372102 0.01262111
-trait_dissimilarity:mesh_size
xm9<-update(xm8, .~.-trait_dissimilarity:mesh_size )
summary(xm9)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + species_richness:mesh_size +
## trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1542
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.1413 -0.4027 0.0135 0.4469 4.9084
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052441 0.07242
## plot_harvest:plot (Intercept) 0.0278132 0.16677
## plot (Intercept) 0.0002245 0.01498
## Residual 0.1326554 0.36422
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 5.157e-01 4.031e-01 2.443e+01 1.279
## species_richness -7.464e-02 1.616e-01 2.215e+01 -0.462
## trait_dissimilarity -1.157e-01 1.276e-01 2.288e+01 -0.907
## mesh_size2.0 mm 1.808e-01 7.681e-02 1.650e+03 2.354
## mesh_size5.0 mm 1.713e-01 7.627e-02 1.649e+03 2.246
## Time -3.603e-02 1.208e-02 1.845e+02 -2.982
## species_richness:trait_dissimilarity 2.744e-02 5.198e-02 2.173e+01 0.528
## species_richness:mesh_size2.0 mm -4.085e-04 2.576e-02 1.651e+03 -0.016
## species_richness:mesh_size5.0 mm 5.415e-03 2.553e-02 1.650e+03 0.212
## trait_dissimilarity:Time 6.425e-03 3.164e-03 1.664e+03 2.031
## Pr(>|t|)
## (Intercept) 0.21275
## species_richness 0.64862
## trait_dissimilarity 0.37406
## mesh_size2.0 mm 0.01869 *
## mesh_size5.0 mm 0.02484 *
## Time 0.00325 **
## species_richness:trait_dissimilarity 0.60295
## species_richness:mesh_size2.0 mm 0.98735
## species_richness:mesh_size5.0 mm 0.83207
## trait_dissimilarity:Time 0.04243 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r trt_ds m_2.0m m_5.0m Time spc_:_ s_:_2m s_:_5m
## spcs_rchnss -0.949
## trt_dssmlrt -0.973 0.948
## msh_sz2.0mm -0.097 0.078 0.003
## msh_sz5.0mm -0.095 0.079 0.002 0.492
## Time -0.194 0.000 0.130 0.011 -0.003
## spcs_rchn:_ 0.933 -0.988 -0.960 -0.003 -0.004 0.001
## spcs_:_2.0m 0.094 -0.082 -0.004 -0.960 -0.471 -0.008 0.005
## spcs_:_5.0m 0.092 -0.082 -0.002 -0.471 -0.959 0.004 0.004 0.491
## trt_dssml:T 0.159 -0.001 -0.161 -0.008 0.004 -0.828 0.001 0.005 -0.005
anova(xm9)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value
## species_richness 0.02731 0.02731 1 21.75 0.2058
## trait_dissimilarity 0.10903 0.10903 1 22.88 0.8219
## mesh_size 0.94229 0.47114 2 1649.46 3.5516
## Time 1.17959 1.17959 1 184.49 8.8921
## species_richness:trait_dissimilarity 0.03696 0.03696 1 21.73 0.2786
## species_richness:mesh_size 0.00848 0.00424 2 1649.72 0.0320
## trait_dissimilarity:Time 0.54712 0.54712 1 1663.51 4.1244
## Pr(>F)
## species_richness 0.654545
## trait_dissimilarity 0.374065
## mesh_size 0.028897 *
## Time 0.003251 **
## species_richness:trait_dissimilarity 0.602949
## species_richness:mesh_size 0.968538
## trait_dissimilarity:Time 0.042429 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm9, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0424812159 0.09804771
## sd_(Intercept)|plot_harvest:plot 0.1212083654 0.22206525
## sd_(Intercept)|plot 0.0000000000 0.13822907
## sigma 0.3516243754 0.37641999
## (Intercept) -0.2501725618 1.28175315
## species_richness -0.3819608508 0.23277907
## trait_dissimilarity -0.3584499928 0.12707897
## mesh_size2.0 mm 0.0301141415 0.33093033
## mesh_size5.0 mm 0.0218731210 0.32056303
## Time -0.0595659697 -0.01257238
## species_richness:trait_dissimilarity -0.0714524276 0.12630276
## species_richness:mesh_size2.0 mm -0.0507140505 0.05015662
## species_richness:mesh_size5.0 mm -0.0445782724 0.05540339
## trait_dissimilarity:Time 0.0002410685 0.01262758
-species_richness:mesh_size
xm10<-update(xm9, .~.-species_richness:mesh_size )
summary(xm10)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## species_richness:trait_dissimilarity + trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1530.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.1456 -0.4012 0.0131 0.4456 4.9106
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0052437 0.07241
## plot_harvest:plot (Intercept) 0.0278128 0.16677
## plot (Intercept) 0.0002204 0.01484
## Residual 0.1325007 0.36401
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 5.109e-01 4.006e-01 2.388e+01 1.275
## species_richness -7.289e-02 1.608e-01 2.175e+01 -0.453
## trait_dissimilarity -1.157e-01 1.276e-01 2.288e+01 -0.907
## mesh_size2.0 mm 1.797e-01 2.158e-02 1.652e+03 8.324
## mesh_size5.0 mm 1.868e-01 2.170e-02 1.657e+03 8.607
## Time -3.605e-02 1.208e-02 1.842e+02 -2.986
## species_richness:trait_dissimilarity 2.741e-02 5.196e-02 2.173e+01 0.528
## trait_dissimilarity:Time 6.432e-03 3.161e-03 1.666e+03 2.034
## Pr(>|t|)
## (Intercept) 0.21447
## species_richness 0.65482
## trait_dissimilarity 0.37397
## mesh_size2.0 mm < 2e-16 ***
## mesh_size5.0 mm < 2e-16 ***
## Time 0.00321 **
## species_richness:trait_dissimilarity 0.60316
## trait_dissimilarity:Time 0.04208 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r trt_ds m_2.0m m_5.0m Time spc_:_
## spcs_rchnss -0.949
## trt_dssmlrt -0.978 0.952
## msh_sz2.0mm -0.024 -0.005 -0.004
## msh_sz5.0mm -0.026 0.000 -0.001 0.496
## Time -0.195 0.000 0.130 0.012 0.003
## spcs_rchn:_ 0.938 -0.992 -0.960 0.005 0.000 0.001
## trt_dssml:T 0.160 -0.001 -0.161 -0.011 -0.001 -0.828 0.001
anova(xm10)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value
## species_richness 0.0272 0.0272 1 21.75 0.2055
## trait_dissimilarity 0.1090 0.1090 1 22.88 0.8223
## mesh_size 12.7079 6.3540 2 1655.69 47.9541
## Time 1.1812 1.1812 1 184.22 8.9144
## species_richness:trait_dissimilarity 0.0369 0.0369 1 21.73 0.2783
## trait_dissimilarity:Time 0.5484 0.5484 1 1665.52 4.1385
## Pr(>F)
## species_richness 0.654821
## trait_dissimilarity 0.373968
## mesh_size < 2.2e-16 ***
## Time 0.003214 **
## species_richness:trait_dissimilarity 0.603165
## trait_dissimilarity:Time 0.042076 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm10, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0424684485 0.09802680
## sd_(Intercept)|plot_harvest:plot 0.1211921845 0.22203153
## sd_(Intercept)|plot 0.0000000000 0.13890864
## sigma 0.3516326202 0.37642876
## (Intercept) -0.2484609505 1.24842054
## species_richness -0.3682709908 0.23305448
## trait_dissimilarity -0.3583387711 0.12636152
## mesh_size2.0 mm 0.1374491579 0.22201634
## mesh_size5.0 mm 0.1442002133 0.22923364
## Time -0.0595548182 -0.01272511
## species_richness:trait_dissimilarity -0.0706401727 0.12598106
## trait_dissimilarity:Time 0.0002483072 0.01263384
xm11<-update(xm10, .~.-species_richness:trait_dissimilarity )
summary(xm11)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ species_richness + trait_dissimilarity +
## mesh_size + Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1527
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.1421 -0.4031 0.0133 0.4465 4.9125
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0050169 0.07083
## plot_harvest:plot (Intercept) 0.0277954 0.16672
## plot (Intercept) 0.0002281 0.01510
## Residual 0.1325009 0.36401
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 3.126e-01 1.374e-01 5.633e+01 2.276 0.0267 *
## species_richness 1.131e-02 1.949e-02 2.319e+01 0.580 0.5674
## trait_dissimilarity -5.111e-02 3.550e-02 5.048e+01 -1.440 0.1561
## mesh_size2.0 mm 1.796e-01 2.158e-02 1.652e+03 8.323 <2e-16 ***
## mesh_size5.0 mm 1.868e-01 2.170e-02 1.657e+03 8.607 <2e-16 ***
## Time -3.607e-02 1.208e-02 1.844e+02 -2.987 0.0032 **
## trait_dissimilarity:Time 6.431e-03 3.161e-03 1.666e+03 2.034 0.0421 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r trt_ds m_2.0m m_5.0m Time
## spcs_rchnss -0.409
## trt_dssmlrt -0.796 -0.002
## msh_sz2.0mm -0.084 0.002 0.004
## msh_sz5.0mm -0.076 0.000 -0.003 0.496
## Time -0.571 0.004 0.470 0.012 0.003
## trt_dssml:T 0.464 0.002 -0.574 -0.011 -0.001 -0.828
anova(xm11)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.0446 0.0446 1 23.19 0.3366 0.567401
## trait_dissimilarity 0.2746 0.2746 1 50.48 2.0725 0.156148
## mesh_size 12.7042 6.3521 2 1655.88 47.9400 < 2.2e-16 ***
## Time 1.1823 1.1823 1 184.40 8.9231 0.003199 **
## trait_dissimilarity:Time 0.5483 0.5483 1 1665.59 4.1379 0.042091 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm11, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0430729002 0.09879053
## sd_(Intercept)|plot_harvest:plot 0.1211863848 0.22201491
## sd_(Intercept)|plot 0.0000000000 0.13902039
## sigma 0.3516314847 0.37642801
## (Intercept) 0.0494797656 0.57587965
## species_richness -0.0265706109 0.04906039
## trait_dissimilarity -0.1192264843 0.01752837
## mesh_size2.0 mm 0.1373772711 0.22194349
## mesh_size5.0 mm 0.1442018668 0.22923613
## Time -0.0595890253 -0.01271224
## trait_dissimilarity:Time 0.0002459357 0.01263161
xm12<-update(xm11, .~.-species_richness)
summary(xm12)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ trait_dissimilarity + mesh_size +
## Time + (1 | plot/plot_harvest) + (1 | litter_combination) +
## trait_dissimilarity:Time
## Data: litter_mix
##
## REML criterion at convergence: 1521.2
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -14.1514 -0.4022 0.0160 0.4439 4.9154
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.004830 0.06950
## plot_harvest:plot (Intercept) 0.027751 0.16659
## plot (Intercept) 0.000251 0.01584
## Residual 0.132500 0.36401
## Number of obs: 1702, groups:
## litter_combination, 26; plot_harvest:plot, 25; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 3.452e-01 1.245e-01 7.190e+01 2.773 0.00707 **
## trait_dissimilarity -5.106e-02 3.518e-02 5.371e+01 -1.451 0.15255
## mesh_size2.0 mm 1.796e-01 2.158e-02 1.653e+03 8.323 < 2e-16 ***
## mesh_size5.0 mm 1.868e-01 2.170e-02 1.657e+03 8.606 < 2e-16 ***
## Time -3.611e-02 1.207e-02 1.846e+02 -2.991 0.00316 **
## trait_dissimilarity:Time 6.429e-03 3.161e-03 1.666e+03 2.034 0.04215 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) trt_ds m_2.0m m_5.0m Time
## trt_dssmlrt -0.872
## msh_sz2.0mm -0.092 0.004
## msh_sz5.0mm -0.084 -0.003 0.496
## Time -0.628 0.475 0.012 0.003
## trt_dssml:T 0.513 -0.579 -0.011 -0.001 -0.828
anova(xm12)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## trait_dissimilarity 0.2790 0.2790 1 53.71 2.1058 0.152554
## mesh_size 12.7024 6.3512 2 1656.06 47.9336 < 2.2e-16 ***
## Time 1.1855 1.1855 1 184.63 8.9474 0.003158 **
## trait_dissimilarity:Time 0.5479 0.5479 1 1665.71 4.1353 0.042155 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(xm12, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0438138103 0.09969246
## sd_(Intercept)|plot_harvest:plot 0.1211649561 0.22195581
## sd_(Intercept)|plot 0.0000000000 0.13922414
## sigma 0.3516296125 0.37642644
## (Intercept) 0.1039736040 0.58563071
## trait_dissimilarity -0.1193369313 0.01786203
## mesh_size2.0 mm 0.1373389319 0.22190507
## mesh_size5.0 mm 0.1442086756 0.22924455
## Time -0.0595810443 -0.01276326
## trait_dissimilarity:Time 0.0002417108 0.01262722
plot(xm12) resids <- resid(xm12, type='pearson')
plot(resids~fitted(xm12))
lines(lowess(resids~fitted(xm1)), col='red')plot(sqrt(abs(resids))~ fitted(xm12))
lines(lowess(sqrt(abs(resids))~
fitted(xm12)), col='red')normally distributed?
library(car)## Loading required package: carData
##
## Attaching package: 'car'
## The following object is masked from 'package:dplyr':
##
## recode
library(arm)## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:patchwork':
##
## area
## The following object is masked from 'package:dplyr':
##
## select
##
## arm (Version 1.12-2, built: 2021-10-15)
## Working directory is C:/Users/Acer/OneDrive/Fauna_outweighs_mixture_effects_SOTEN
##
## Attaching package: 'arm'
## The following object is masked from 'package:car':
##
## logit
## The following object is masked from 'package:MuMIn':
##
## coefplot
qqPlot(resids)## 1900 1230
## 1233 800
par(mfrow=c(2,2))
qqPlot(ranef(xm12)$plot$'(Intercept)')## [1] 2 1
qqPlot(ranef(xm12)$plot_harvest$'(Intercept)')## [1] 11 15
qqPlot(ranef(xm12)$litter_combination$'(Intercept)')## [1] 25 9
AIC(xm1,xm2,xm3,xm4,xm5,xm6,xm7,xm8,xm9,xm10,xm11,xm12)## df AIC
## xm1 26 1670.486
## xm2 24 1651.360
## xm3 22 1630.686
## xm4 22 1630.686
## xm5 21 1622.990
## xm6 19 1612.405
## xm7 17 1594.947
## xm8 16 1582.962
## xm9 14 1569.951
## xm10 12 1554.760
## xm11 11 1548.951
## xm12 10 1541.241
library(MuMIn)
r.squaredGLMM(xm12)## R2m R2c
## [1,] 0.07927963 0.262121
Fixed effects explain ~8 % while the full model including the random factors explain ~26 %
#here we create dataframes for each harvests
#litter_mix_new<-litter_mix[!litter_mix$mesh_size == '0.07 mm',]
litter_mix16<- litter_mix[litter_mix$Time == "16",]
litter_mix9<- litter_mix[litter_mix$Time == "9",]
litter_mix6<- litter_mix[litter_mix$Time == "6",]
litter_mix3<- litter_mix[litter_mix$Time == "3",]
litter_mix1<- litter_mix[litter_mix$Time == "1",]we calculated the 90% confidence intervals around the means. The upper confidence interval is the mean + 90% confidence interval while the lower confidence interval is mean-90% confidence interval. Following suggestion based on Grosmann et al 2020 paper n Ecological Monograph.
We assumed t distribution and use the function qt(probability(.95), df)*SE (standard error).
library(dplyr)
obs_exp_by_time<- litter_mix %>%
group_by(Time,mesh_size) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci_obs_exp = m_obs_exp - qt(1 - (0.1 / 2), df=n_obs_exp - 1) * se_obs_exp,
upper_ci_obs_exp = m_obs_exp + qt(1 - (0.1 / 2), df=n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'Time'. You can override using the
## `.groups` argument.
obs_exp_by_time## # A tibble: 15 × 8
## # Groups: Time [5]
## Time mesh_size m_obs_exp sd_obs_exp n_obs_exp se_obs_exp lower_ci_…¹ upper…²
## <int> <fct> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 1 0.07 mm 1.46 1.33 120 0.121 1.26 1.66
## 2 1 2.0 mm 1.83 1.28 124 0.115 1.64 2.02
## 3 1 5.0 mm 1.90 1.27 118 0.117 1.70 2.09
## 4 3 0.07 mm 1.27 0.381 119 0.0349 1.21 1.32
## 5 3 2.0 mm 1.48 0.560 113 0.0527 1.39 1.57
## 6 3 5.0 mm 1.42 0.370 114 0.0346 1.36 1.47
## 7 6 0.07 mm 1.07 0.382 115 0.0356 1.01 1.13
## 8 6 2.0 mm 1.29 0.345 120 0.0315 1.24 1.34
## 9 6 5.0 mm 1.28 0.306 122 0.0277 1.23 1.33
## 10 9 0.07 mm 1.07 0.297 129 0.0261 1.02 1.11
## 11 9 2.0 mm 1.11 0.281 130 0.0246 1.07 1.15
## 12 9 5.0 mm 1.11 0.304 124 0.0273 1.06 1.15
## 13 16 0.07 mm 0.987 0.171 122 0.0155 0.961 1.01
## 14 16 2.0 mm 1.22 0.235 109 0.0225 1.18 1.25
## 15 16 5.0 mm 1.25 0.278 109 0.0267 1.20 1.29
## # … with abbreviated variable names ¹lower_ci_obs_exp, ²upper_ci_obs_exp
Plot average MER for the five collection times, and soil fauna groups with 90% confidence intervals
obs_exp_by_time$mesh_size <- factor(obs_exp_by_time$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
new_incb_time<-ggplot(obs_exp_by_time, aes(y=m_obs_exp, x=as.factor(Time), shape=mesh_size)) +
geom_point(size=5, position = position_dodge(width=0.9))+ geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.5) +scale_y_continuous(limits = c(0.5, 2.5))+
geom_errorbar(aes(ymin= lower_ci_obs_exp, ymax=upper_ci_obs_exp),position=position_dodge(width = 0.9), width=.2) + theme(legend.position = c(0.25,0.8),legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("b")+labs(shape= "Mesh size")+guides(shape = FALSE)+
xlab("Incubation duration (months)") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
new_incb_timeCalculate the mean by No of species Time and mesh size for the entire data and also the 90% confidence intervals
obs_exp_by_spr<- litter_mix %>%
group_by(No_species, mesh_size, Time) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci_obs_exp = m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci_obs_exp = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
obs_exp_by_spr## # A tibble: 60 × 9
## # Groups: No_species, mesh_size [12]
## No_species mesh_size Time m_obs_exp sd_obs…¹ n_obs…² se_ob…³ lower…⁴ upper…⁵
## <fct> <fct> <int> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 2 0.07 mm 1 1.28 0.958 48 0.138 1.04 1.51
## 2 2 0.07 mm 3 1.18 0.387 47 0.0564 1.09 1.27
## 3 2 0.07 mm 6 0.992 0.324 45 0.0483 0.911 1.07
## 4 2 0.07 mm 9 1.01 0.274 49 0.0391 0.941 1.07
## 5 2 0.07 mm 16 0.992 0.207 47 0.0301 0.942 1.04
## 6 2 2.0 mm 1 1.68 1.32 47 0.193 1.36 2.01
## 7 2 2.0 mm 3 1.36 0.535 46 0.0789 1.22 1.49
## 8 2 2.0 mm 6 1.21 0.324 47 0.0473 1.13 1.29
## 9 2 2.0 mm 9 1.11 0.327 50 0.0462 1.03 1.18
## 10 2 2.0 mm 16 1.24 0.267 40 0.0423 1.17 1.32
## # … with 50 more rows, and abbreviated variable names ¹sd_obs_exp, ²n_obs_exp,
## # ³se_obs_exp, ⁴lower_ci_obs_exp, ⁵upper_ci_obs_exp
## # ℹ Use `print(n = ...)` to see more rows
Plot average observed expected ratio for each species richness level with soil fauna as subgroups
obs_exp_by_spr$mesh_size <- factor(obs_exp_by_spr$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
new_sprich<-ggplot(obs_exp_by_spr, aes(x=No_species, y=m_obs_exp,shape=mesh_size, colour=as.factor(Time))) +
geom_point(size=3, position=position_dodge(width=0.6)) +scale_y_continuous(limits = c(0.5, 5))+ geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9) +
geom_errorbar(aes(ymin=lower_ci_obs_exp, ymax=upper_ci_obs_exp), width=.3, position=position_dodge(width =0.6)) + theme(legend.position = c(0.35,0.7),legend.direction="vertical",legend.text=element_text(size=12,face="italic")) +
labs(colour='Incubation duration)', shape= "Mesh size")+guides(colour=guide_legend("Incubation
duration (months)"), shape = 'none')+
ylab("Observed/expected mass loss") + xlab("Species richness ") + ggtitle("a")+ theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
new_sprichhist(litter_mix1$observed_expected_ratio)hist(log(litter_mix1$observed_expected_ratio+0.01))lmm_1<-lmer(log(observed_expected_ratio+0.01)~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity+(1|plot) + (1|litter_combination),data=litter_mix1)
summary(lmm_1)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log(observed_expected_ratio + 0.01) ~ species_richness + mesh_size +
## trait_dissimilarity + mesh_size:trait_dissimilarity + (1 |
## plot) + (1 | litter_combination)
## Data: litter_mix1
##
## REML criterion at convergence: 724.6
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -8.0812 -0.3265 0.0459 0.3997 3.0177
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01600 0.1265
## plot (Intercept) 0.07157 0.2675
## Residual 0.38935 0.6240
## Number of obs: 362, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 0.338367 0.386566 75.682282 0.875
## species_richness -0.003851 0.048194 22.155608 -0.080
## mesh_size2.0 mm 0.409456 0.438870 329.138027 0.933
## mesh_size5.0 mm 0.539901 0.442700 329.713085 1.220
## trait_dissimilarity -0.068731 0.108916 103.055827 -0.631
## mesh_size2.0 mm:trait_dissimilarity -0.021566 0.140055 328.977036 -0.154
## mesh_size5.0 mm:trait_dissimilarity -0.054333 0.141138 329.238536 -0.385
## Pr(>|t|)
## (Intercept) 0.384
## species_richness 0.937
## mesh_size2.0 mm 0.352
## mesh_size5.0 mm 0.224
## trait_dissimilarity 0.529
## mesh_size2.0 mm:trait_dissimilarity 0.878
## mesh_size5.0 mm:trait_dissimilarity 0.701
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.355
## msh_sz2.0mm -0.571 -0.010
## msh_sz5.0mm -0.565 -0.012 0.501
## trt_dssmlrt -0.866 -0.003 0.640 0.635
## msh_s2.0m:_ 0.562 0.008 -0.983 -0.493 -0.651
## msh_s5.0m:_ 0.557 0.010 -0.494 -0.983 -0.646 0.502
anova(lmm_1)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.00249 0.00249 1 22.16 0.0064 0.9370
## mesh_size 0.63289 0.31645 2 329.84 0.8127 0.4445
## trait_dissimilarity 0.65992 0.65992 1 22.15 1.6949 0.2063
## mesh_size:trait_dissimilarity 0.05851 0.02925 2 329.43 0.0751 0.9276
confint(lmm_1, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.2152598
## sd_(Intercept)|plot 0.12981258 0.5374579
## sigma 0.57597941 0.6707211
## (Intercept) -0.40240701 1.0789827
## species_richness -0.09757818 0.0901800
## mesh_size2.0 mm -0.44892957 1.2662308
## mesh_size5.0 mm -0.32538510 1.4047096
## trait_dissimilarity -0.27906930 0.1415819
## mesh_size2.0 mm:trait_dissimilarity -0.29497310 0.2523901
## mesh_size5.0 mm:trait_dissimilarity -0.33011480 0.2214735
-mesh_size:trait_dissimilarity
lmm_1b<-update(lmm_1, .~.-mesh_size:trait_dissimilarity)
summary(lmm_1b)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log(observed_expected_ratio + 0.01) ~ species_richness + mesh_size +
## trait_dissimilarity + (1 | plot) + (1 | litter_combination)
## Data: litter_mix1
##
## REML criterion at convergence: 720.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -8.1320 -0.3269 0.0598 0.4114 3.0227
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01612 0.1270
## plot (Intercept) 0.07171 0.2678
## Residual 0.38718 0.6222
## Number of obs: 362, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.415501 0.295074 26.860095 1.408 0.171
## species_richness -0.003671 0.048177 22.157670 -0.076 0.940
## mesh_size2.0 mm 0.343055 0.079797 332.052918 4.299 2.26e-05 ***
## mesh_size5.0 mm 0.372352 0.080829 333.405979 4.607 5.83e-06 ***
## trait_dissimilarity -0.093942 0.072201 22.148073 -1.301 0.207
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r m_2.0m m_5.0m
## spcs_rchnss -0.474
## msh_sz2.0mm -0.131 -0.012
## msh_sz5.0mm -0.127 -0.013 0.502
## trt_dssmlrt -0.756 0.006 -0.001 -0.004
anova(lmm_1b)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.0022 0.0022 1 22.16 0.0058 0.9400
## mesh_size 10.2600 5.1300 2 332.94 13.2496 2.906e-06 ***
## trait_dissimilarity 0.6555 0.6555 1 22.15 1.6929 0.2066
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_1b, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.21513530
## sd_(Intercept)|plot 0.12991709 0.53782611
## sigma 0.57611734 0.67088106
## (Intercept) -0.14989835 0.97999239
## species_richness -0.09737035 0.09032743
## mesh_size2.0 mm 0.18669864 0.49951035
## mesh_size5.0 mm 0.21374695 0.53054130
## trait_dissimilarity -0.23439155 0.04691397
-species_richness
lmm_1c<-update(lmm_1b,.~.-species_richness)
summary(lmm_1c)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## log(observed_expected_ratio + 0.01) ~ mesh_size + trait_dissimilarity +
## (1 | plot) + (1 | litter_combination)
## Data: litter_mix1
##
## REML criterion at convergence: 716
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -8.1364 -0.3221 0.0513 0.4097 3.0338
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01427 0.1194
## plot (Intercept) 0.07165 0.2677
## Residual 0.38720 0.6223
## Number of obs: 362, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.40515 0.25563 26.29392 1.585 0.125
## mesh_size2.0 mm 0.34311 0.07979 332.18582 4.300 2.25e-05 ***
## mesh_size5.0 mm 0.37218 0.08081 333.60254 4.605 5.86e-06 ***
## trait_dissimilarity -0.09404 0.07063 23.08620 -1.331 0.196
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m m_5.0m
## msh_sz2.0mm -0.157
## msh_sz5.0mm -0.153 0.502
## trt_dssmlrt -0.850 -0.001 -0.004
anova(lmm_1c)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 10.2601 5.1300 2 333.08 13.2489 2.907e-06 ***
## trait_dissimilarity 0.6863 0.6863 1 23.09 1.7724 0.1961
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_1c, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.21519262
## sd_(Intercept)|plot 0.12989449 0.53775055
## sigma 0.57611554 0.67087828
## (Intercept) -0.09168755 0.90097801
## mesh_size2.0 mm 0.18663094 0.49941646
## mesh_size5.0 mm 0.21367645 0.53044378
## trait_dissimilarity -0.23438532 0.04697027
-trait_dissimilarity
lmm_1d<-update(lmm_1c,.~.-trait_dissimilarity)
summary(lmm_1d)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: log(observed_expected_ratio + 0.01) ~ mesh_size + (1 | plot) +
## (1 | litter_combination)
## Data: litter_mix1
##
## REML criterion at convergence: 714.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -8.0659 -0.3257 0.0340 0.3897 3.0280
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01578 0.1256
## plot (Intercept) 0.07167 0.2677
## Residual 0.38706 0.6221
## Number of obs: 362, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.11592 0.13482 5.56448 0.860 0.425
## mesh_size2.0 mm 0.34286 0.07978 332.35949 4.298 2.27e-05 ***
## mesh_size5.0 mm 0.37187 0.08081 333.73182 4.602 5.96e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m
## msh_sz2.0mm -0.301
## msh_sz5.0mm -0.297 0.502
anova(lmm_1d)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 10.242 5.1211 2 333.22 13.231 2.956e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_1d, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.0000000 0.2279323
## sd_(Intercept)|plot 0.1301031 0.5384513
## sigma 0.5760075 0.6707070
## (Intercept) -0.1662882 0.3977268
## mesh_size2.0 mm 0.1862698 0.4990227
## mesh_size5.0 mm 0.2134450 0.5302121
Check the pairwise comparison among mesh sizes
library(multcompView)
library(multcomp)## Loading required package: mvtnorm
## Loading required package: survival
## Loading required package: TH.data
##
## Attaching package: 'TH.data'
## The following object is masked from 'package:MASS':
##
## geyser
##
## Attaching package: 'multcomp'
## The following object is masked _by_ '.GlobalEnv':
##
## litter
library(emmeans)
lmm_1d_emeans<-emmeans(lmm_1d, spec=~mesh_size)
cld(lmm_1d_emeans)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 0.116 0.135 5.56 -0.220 0.452 1
## 2.0 mm 0.459 0.134 5.49 0.122 0.795 2
## 5.0 mm 0.488 0.135 5.59 0.151 0.824 2
##
## Degrees-of-freedom method: kenward-roger
## Results are given on the log(mu + 0.01) (not the response) scale.
## Confidence level used: 0.95
## Results are given on the log (not the response) scale.
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
mesh size is significant and 0.07 mm is significantly different from 2.0 mm and 5.0 mm. But there is no a significant difference between 2.0 and 5.0 mm mesh sizes
AIC(lmm_1,lmm_1b,lmm_1c,lmm_1d)## df AIC
## lmm_1 10 744.5762
## lmm_1b 8 736.2589
## lmm_1c 7 730.0149
## lmm_1d 6 726.3090
plot(lmm_1d)resids <- resid(lmm_1d, type='pearson')
plot(resids~fitted(lmm_1d))
lines(lowess(resids~fitted(lmm_1d)), col='red')plot(sqrt(abs(resids))~ fitted(lmm_1d))
lines(lowess(sqrt(abs(resids))~
fitted(lmm_1d)), col='red')Not bad, but shall we consider using lme because of heteroscedascity???
Residuals normally distributed?
qqPlot(resids)## 1900 1230
## 263 177
par(mfrow=c(2,2))
qqPlot(ranef(lmm_1d)$plot$'(Intercept)')## [1] 3 1
#qqPlot(ranef(lmm_1d)$plot_harvest$'(Intercept)')
qqPlot(ranef(lmm_1d)$litter_combination$'(Intercept)')## [1] 5 9
Variation explained
r.squaredGLMM(lmm_1d)## R2m R2c
## [1,] 0.05658853 0.2304589
lit1<-litter_mix1 %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
lit1$mesh_size <- factor(lit1$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(lit1$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
obs_exp1<-ggplot(data=lit1, aes(trait_dissimilarity, m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1),alpha=0.9) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=lit1$lower_ci,ymax=lit1$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(-4,8.5))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 4, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("c 1 month")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
obs_exp1## `geom_smooth()` using formula 'y ~ x'
hist(litter_mix3$observed_expected_ratio)#looks normally distributedlmm_3<-lmer(observed_expected_ratio~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity+(1|plot) + (1|litter_combination),data=litter_mix3)
summary(lmm_3)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## mesh_size:trait_dissimilarity + (1 | plot) + (1 | litter_combination)
## Data: litter_mix3
##
## REML criterion at convergence: 359.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4071 -0.4994 -0.0378 0.4287 5.2909
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01680 0.1296
## plot (Intercept) 0.05218 0.2284
## Residual 0.13919 0.3731
## Number of obs: 346, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 0.87508 0.27569 49.86497 3.174
## species_richness 0.02518 0.03866 23.94063 0.651
## mesh_size2.0 mm 0.67766 0.26228 313.20239 2.584
## mesh_size5.0 mm 0.67487 0.26482 313.53076 2.548
## trait_dissimilarity 0.10371 0.07388 61.54899 1.404
## mesh_size2.0 mm:trait_dissimilarity -0.15301 0.08408 313.18472 -1.820
## mesh_size5.0 mm:trait_dissimilarity -0.16956 0.08475 313.17167 -2.001
## Pr(>|t|)
## (Intercept) 0.00258 **
## species_richness 0.52102
## mesh_size2.0 mm 0.01023 *
## mesh_size5.0 mm 0.01130 *
## trait_dissimilarity 0.16538
## mesh_size2.0 mm:trait_dissimilarity 0.06975 .
## mesh_size5.0 mm:trait_dissimilarity 0.04629 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.401
## msh_sz2.0mm -0.467 0.005
## msh_sz5.0mm -0.461 0.002 0.484
## trt_dssmlrt -0.822 -0.003 0.545 0.540
## msh_s2.0m:_ 0.456 0.000 -0.982 -0.475 -0.553
## msh_s5.0m:_ 0.452 -0.001 -0.475 -0.983 -0.549 0.483
anova(lmm_3)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.05905 0.05905 1 23.941 0.4243 0.52102
## mesh_size 1.23501 0.61750 2 313.335 4.4365 0.01259 *
## trait_dissimilarity 0.00063 0.00063 1 22.201 0.0045 0.94711
## mesh_size:trait_dissimilarity 0.68954 0.34477 2 313.096 2.4770 0.08564 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_3, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.06749791 0.18848559
## sd_(Intercept)|plot 0.11695460 0.45430960
## sigma 0.34362042 0.40161983
## (Intercept) 0.34772989 1.40217981
## species_richness -0.05027353 0.10034211
## mesh_size2.0 mm 0.16507085 1.18978396
## mesh_size5.0 mm 0.15754358 1.19222865
## trait_dissimilarity -0.03890002 0.24650877
## mesh_size2.0 mm:trait_dissimilarity -0.31712814 0.01137813
## mesh_size5.0 mm:trait_dissimilarity -0.33524958 -0.00409814
The interactions between mesh size and trait dissimilarity is significant so we can exclude it
#-mesh_size:trait_dissimilarity
#lmm_3b<-update(lmm_3, .~.-mesh_size:trait_dissimilarity)
#summary(lmm_3b)
#anova(lmm_3b)
#confint(lmm_3b, oldNames=FALSE)Species richness is non significant so we can now exclude it in the next model -species_richness
lmm_3c<-update(lmm_3, .~.-species_richness)
summary(lmm_3c)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: observed_expected_ratio ~ mesh_size + trait_dissimilarity + (1 |
## plot) + (1 | litter_combination) + mesh_size:trait_dissimilarity
## Data: litter_mix3
##
## REML criterion at convergence: 355
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4237 -0.5155 -0.0399 0.4298 5.3028
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01622 0.1274
## plot (Intercept) 0.05209 0.2282
## Residual 0.13916 0.3730
## Number of obs: 346, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 0.94726 0.25117 55.57081 3.771
## mesh_size2.0 mm 0.67668 0.26224 313.34659 2.580
## mesh_size5.0 mm 0.67434 0.26479 313.66080 2.547
## trait_dissimilarity 0.10382 0.07340 65.33708 1.414
## mesh_size2.0 mm:trait_dissimilarity -0.15296 0.08407 313.31107 -1.819
## mesh_size5.0 mm:trait_dissimilarity -0.16947 0.08475 313.29650 -2.000
## Pr(>|t|)
## (Intercept) 0.000396 ***
## mesh_size2.0 mm 0.010325 *
## mesh_size5.0 mm 0.011351 *
## trait_dissimilarity 0.161969
## mesh_size2.0 mm:trait_dissimilarity 0.069798 .
## mesh_size5.0 mm:trait_dissimilarity 0.046389 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) ms_2.0m ms_5.0m trt_ds m_2.0m:
## msh_sz2.0mm -0.511
## msh_sz5.0mm -0.506 0.484
## trt_dssmlrt -0.898 0.548 0.543
## msh_s2.0m:_ 0.500 -0.982 -0.475 -0.557
## msh_s5.0m:_ 0.496 -0.475 -0.983 -0.552 0.483
anova(lmm_3c)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 1.23230 0.61615 2 313.470 4.4276 0.01270 *
## trait_dissimilarity 0.00059 0.00059 1 23.224 0.0042 0.94861
## mesh_size:trait_dissimilarity 0.68895 0.34447 2 313.220 2.4754 0.08578 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_3c, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.06988529 0.190836883
## sd_(Intercept)|plot 0.11686574 0.454029192
## sigma 0.34360365 0.401593807
## (Intercept) 0.46219009 1.431407800
## mesh_size2.0 mm 0.16417007 1.188828248
## mesh_size5.0 mm 0.15734883 1.191996115
## trait_dissimilarity -0.03957759 0.247559345
## mesh_size2.0 mm:trait_dissimilarity -0.31712695 0.011365569
## mesh_size5.0 mm:trait_dissimilarity -0.33520457 -0.004067361
#-trait_dissimilarity
#lmm_3d<-update(lmm_3c, .~.-trait_dissimilarity)
#summary(lmm_3d)
#anova(lmm_3d)
#confint(lmm_3d, oldNames=FALSE)2.0 and 5.0 mm mesh size are significantly different from 0.07 mm, next we do emmeans to see pairwise comparison. Their interaction with trait_dissimilarity is also significant
lmm_3c_emeans<-emmeans(lmm_3c, spec=~mesh_size)## NOTE: Results may be misleading due to involvement in interactions
cld(lmm_3c_emeans)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 1.27 0.111 5.09 0.983 1.55 1
## 5.0 mm 1.42 0.111 5.14 1.138 1.70 2
## 2.0 mm 1.47 0.111 5.15 1.191 1.76 2
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
There is no significant difference between 5.0 mm and 2.0 mm
#AIC(lmm_3,lmm_3b,lmm_3c,lmm_3d)
AIC(lmm_3,lmm_3c)## df AIC
## lmm_3 10 379.2636
## lmm_3c 9 373.0145
plot(lmm_3c)resids <- resid(lmm_3c, type='pearson')
plot(resids~fitted(lmm_3c))
lines(lowess(resids~fitted(lmm_3c)), col='red')Not that good!!!
plot(sqrt(abs(resids))~ fitted(lmm_3c))
lines(lowess(sqrt(abs(resids))~
fitted(lmm_3c)), col='red')Normally distributed?
qqPlot(resids)## 1675 2263
## 211 295
par(mfrow=c(2,2))
qqPlot(ranef(lmm_3c)$plot$'(Intercept)')## [1] 2 5
#qqPlot(ranef(lmm_3c)$plot_harvest$'(Intercept)')
qqPlot(ranef(lmm_3c)$litter_combination$'(Intercept)')## [1] 2 25
r.squaredGLMM(lmm_3c)## R2m R2c
## [1,] 0.04534656 0.359657
str(litter_mix3)## 'data.frame': 346 obs. of 39 variables:
## $ code : chr "AB" "AB" "AB" "AB" ...
## $ id : Factor w/ 26 levels "2","3","4","5",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ species : Factor w/ 26 levels "Kp, Lf","Kp, Lf, Pm",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ prop_slow_decomp : num 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 ...
## $ prop_gymn : num 0 0 0 0 0 0 0 0 0 0 ...
## $ No_species : Factor w/ 4 levels "2","3","4","5": 1 1 1 1 1 1 1 1 1 1 ...
## $ species_richness : num 2 2 2 2 2 2 2 2 2 2 ...
## $ mesh_size : Factor w/ 3 levels "0.07 mm","2.0 mm",..: 1 3 2 2 3 3 1 1 1 2 ...
## $ size_mesh : chr "S" "L" "M" "M" ...
## $ Time : int 3 3 3 3 3 3 3 3 3 3 ...
## $ Time_month : chr "three months" "three months" "three months" "three months" ...
## $ initial.weight : num 9.34 9.34 9.34 9.34 9.34 ...
## $ plot : Factor w/ 5 levels "R1","R2","R3",..: 1 1 2 1 2 3 2 3 4 4 ...
## $ f_weight_with_envelope : chr "13.76" "13.65" "13.94" "13.42" ...
## $ Envelope_weight : chr "5.605" "5.605" "5.605" "5.605" ...
## $ f_weight : chr "8.155" "8.045" "8.335" "7.815" ...
## $ mass_loss_g : chr "1.18" "1.29" "1" "1.52" ...
## $ percent_ml : num 12.6 13.8 10.7 16.3 16 ...
## $ percent_eml : chr "10.65700125" "12.21196103" "8.994356569" "13.76760861" ...
## $ remaining_mass : chr "87.35940011" "86.1810391" "89.28762721" "83.71719336" ...
## $ perc_mass : chr "0.873594001" "0.861810391" "0.892876272" "0.837171934" ...
## $ mass_loss_prop : chr "0.126405999" "0.138189609" "0.107123728" "0.162828066" ...
## $ fast_species : int 0 0 0 0 0 0 0 0 0 0 ...
## $ slow_species : int 0 0 0 0 0 0 0 0 0 0 ...
## $ mixture : int 1 1 1 1 1 1 1 1 1 1 ...
## $ litter_type : Factor w/ 3 levels "fast","mixture",..: 2 2 2 2 2 2 2 2 2 2 ...
## $ expected_mass_loss_0.07mm: num 10.7 10.7 10.6 10.7 10.6 ...
## $ plot_harvest : Factor w/ 25 levels "R1_1","R1_16",..: 3 3 8 3 8 13 8 13 18 18 ...
## $ trait_dissimilarity : num 3 3 3 3 3 ...
## $ initial_N : num 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 0.99 ...
## $ initial_C : num 47.3 47.3 47.3 47.3 47.3 ...
## $ initial_P : num 1.88 1.88 1.88 1.88 1.88 ...
## $ LDMC : num 0.441 0.441 0.441 0.441 0.441 ...
## $ C_N_ratio : num 48.5 48.5 48.5 48.5 48.5 ...
## $ initial_lignin : num 27.9 27.9 27.9 27.9 27.9 ...
## $ initial_tannin : num 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 8.76 ...
## $ carbN : num 48.5 48.5 48.5 48.5 48.5 ...
## $ litter_combination : Factor w/ 26 levels "Kp, Lf","Kp, Lf, Pm",..: 7 7 7 7 7 7 7 7 7 7 ...
## $ observed_expected_ratio : num 1.19 1.3 1.02 1.53 1.51 ...
levels(litter_mix3$mesh_size)## [1] "0.07 mm" "2.0 mm" "5.0 mm"
litter_mix3$mesh_size<-relevel(litter_mix3$mesh_size, ref="2.0 mm")
levels(litter_mix3$mesh_size)## [1] "2.0 mm" "0.07 mm" "5.0 mm"
lmm_3d<-update(lmm_3, .~.-species_richness)
summary(lmm_3d)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: observed_expected_ratio ~ mesh_size + trait_dissimilarity + (1 |
## plot) + (1 | litter_combination) + mesh_size:trait_dissimilarity
## Data: litter_mix3
##
## REML criterion at convergence: 355
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4237 -0.5155 -0.0399 0.4298 5.3028
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01622 0.1274
## plot (Intercept) 0.05209 0.2282
## Residual 0.13916 0.3730
## Number of obs: 346, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 1.623944 0.254176 58.081595 6.389
## mesh_size0.07 mm -0.676684 0.262245 313.346591 -2.580
## mesh_size5.0 mm -0.002346 0.267591 313.402657 -0.009
## trait_dissimilarity -0.049145 0.074742 69.684232 -0.658
## mesh_size0.07 mm:trait_dissimilarity 0.152964 0.084072 313.311068 1.819
## mesh_size5.0 mm:trait_dissimilarity -0.016507 0.085871 313.046243 -0.192
## Pr(>|t|)
## (Intercept) 3.07e-08 ***
## mesh_size0.07 mm 0.0103 *
## mesh_size5.0 mm 0.9930
## trait_dissimilarity 0.5130
## mesh_size0.07 mm:trait_dissimilarity 0.0698 .
## mesh_size5.0 mm:trait_dissimilarity 0.8477
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) ms_0.07m ms_5.0m trt_ds m_0.07m:
## msh_sz0.07m -0.527
## msh_sz5.0mm -0.516 0.501
## trt_dssmlrt -0.900 0.566 0.554
## msh_0.07m:_ 0.519 -0.982 -0.493 -0.578
## msh_s5.0m:_ 0.508 -0.492 -0.983 -0.566 0.503
anova(lmm_3d)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 1.23230 0.61615 2 313.470 4.4276 0.01270 *
## trait_dissimilarity 0.00059 0.00059 1 23.224 0.0042 0.94861
## mesh_size:trait_dissimilarity 0.68895 0.34447 2 313.220 2.4754 0.08578 .
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_3d, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.06988530 0.19083680
## sd_(Intercept)|plot 0.11686574 0.45402922
## sigma 0.34360365 0.40159381
## (Intercept) 1.13325117 2.11397155
## mesh_size0.07 mm -1.18882825 -0.16417007
## mesh_size5.0 mm -0.52462425 0.52096943
## trait_dissimilarity -0.19513374 0.09709336
## mesh_size0.07 mm:trait_dissimilarity -0.01136557 0.31712695
## mesh_size5.0 mm:trait_dissimilarity -0.18452344 0.15101289
litter_mix3$mesh_size<-relevel(litter_mix3$mesh_size, ref="0.07 mm")lit3<-litter_mix3 %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
levels(lit3$mesh_size)## [1] "0.07 mm" "2.0 mm" "5.0 mm"
lit3$mesh_size <- factor(lit3$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(lit3$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
obs_exp3<-ggplot(data=lit3, aes(trait_dissimilarity, m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1),alpha=0.9) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=lit3$lower_ci,ymax=lit3$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(-0.5,3.5))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 1, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("d 3 months")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
obs_exp3## `geom_smooth()` using formula 'y ~ x'
hist(litter_mix6$observed_expected_ratio)lmm_6<-lmer(observed_expected_ratio~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity++(1|plot) + (1|litter_combination),data=litter_mix6)
summary(lmm_6)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## mesh_size:trait_dissimilarity + +(1 | plot) + (1 | litter_combination)
## Data: litter_mix6
##
## REML criterion at convergence: 194.8
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4155 -0.6396 -0.0954 0.4325 4.7587
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01702 0.1305
## plot (Intercept) 0.02710 0.1646
## Residual 0.08263 0.2875
## Number of obs: 357, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 0.95010 0.24313 50.26104 3.908
## species_richness 0.01587 0.03521 23.27509 0.451
## mesh_size2.0 mm 0.30276 0.21021 325.79392 1.440
## mesh_size5.0 mm 0.13804 0.21085 325.28356 0.655
## trait_dissimilarity 0.02654 0.06749 60.07625 0.393
## mesh_size2.0 mm:trait_dissimilarity -0.03157 0.06785 326.06724 -0.465
## mesh_size5.0 mm:trait_dissimilarity 0.02108 0.06771 325.32473 0.311
## Pr(>|t|)
## (Intercept) 0.000279 ***
## species_richness 0.656319
## mesh_size2.0 mm 0.150742
## mesh_size5.0 mm 0.513137
## trait_dissimilarity 0.695562
## mesh_size2.0 mm:trait_dissimilarity 0.642045
## mesh_size5.0 mm:trait_dissimilarity 0.755809
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.407
## msh_sz2.0mm -0.467 -0.007
## msh_sz5.0mm -0.461 -0.015 0.541
## trt_dssmlrt -0.843 -0.012 0.539 0.536
## msh_s2.0m:_ 0.460 0.008 -0.984 -0.535 -0.549
## msh_s5.0m:_ 0.457 0.015 -0.537 -0.984 -0.549 0.547
anova(lmm_6)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.016792 0.016792 1 23.28 0.2032 0.6563
## mesh_size 0.173239 0.086619 2 325.25 1.0482 0.3517
## trait_dissimilarity 0.015734 0.015734 1 23.34 0.1904 0.6666
## mesh_size:trait_dissimilarity 0.055677 0.027838 2 325.19 0.3369 0.7142
confint(lmm_6, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.08199193 0.18066465
## sd_(Intercept)|plot 0.08424063 0.32970110
## sigma 0.26515046 0.30909092
## (Intercept) 0.48390056 1.41644915
## species_richness -0.05267557 0.08440438
## mesh_size2.0 mm -0.10959623 0.71182496
## mesh_size5.0 mm -0.27587145 0.54813718
## trait_dissimilarity -0.10389022 0.15675783
## mesh_size2.0 mm:trait_dissimilarity -0.16357949 0.10156849
## mesh_size5.0 mm:trait_dissimilarity -0.11061427 0.15402141
The interactions between mesh size and trait dissimilarity is non significant so we can exclude it.
lmm_6b<-update(lmm_6, .~.-mesh_size:trait_dissimilarity)
summary(lmm_6b)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## (1 | plot) + (1 | litter_combination)
## Data: litter_mix6
##
## REML criterion at convergence: 188.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4173 -0.6370 -0.1083 0.4066 4.7779
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01705 0.1306
## plot (Intercept) 0.02708 0.1646
## Residual 0.08230 0.2869
## Number of obs: 357, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.96185 0.20746 27.09193 4.636 8.04e-05 ***
## species_richness 0.01568 0.03521 23.27034 0.445 0.660
## mesh_size2.0 mm 0.20633 0.03768 327.94842 5.476 8.66e-08 ***
## mesh_size5.0 mm 0.20336 0.03742 326.68833 5.434 1.08e-07 ***
## trait_dissimilarity 0.02286 0.05275 23.25123 0.433 0.669
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r m_2.0m m_5.0m
## spcs_rchnss -0.485
## msh_sz2.0mm -0.093 0.005
## msh_sz5.0mm -0.080 0.000 0.511
## trt_dssmlrt -0.776 -0.005 -0.003 -0.017
anova(lmm_6b)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.0163 0.01633 1 23.27 0.1984 0.6601
## mesh_size 3.2424 1.62121 2 327.94 19.6992 8.334e-09 ***
## trait_dissimilarity 0.0155 0.01546 1 23.25 0.1878 0.6687
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_6b, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.08195558 0.18066325
## sd_(Intercept)|plot 0.08419275 0.32956465
## sigma 0.26542483 0.30940962
## (Intercept) 0.56288752 1.36077130
## species_richness -0.05286911 0.08422077
## mesh_size2.0 mm 0.13257657 0.28022995
## mesh_size5.0 mm 0.13004254 0.27671104
## trait_dissimilarity -0.07982959 0.12557522
Species richness is non significant so we can now exclude it in the next model
lmm_6c<-update(lmm_6b, .~.-species_richness)
summary(lmm_6c)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: observed_expected_ratio ~ mesh_size + trait_dissimilarity + (1 |
## plot) + (1 | litter_combination)
## Data: litter_mix6
##
## REML criterion at convergence: 183.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.4072 -0.6322 -0.1037 0.4000 4.7802
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01629 0.1276
## plot (Intercept) 0.02708 0.1646
## Residual 0.08229 0.2869
## Number of obs: 357, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.00667 0.17897 28.16420 5.625 4.95e-06 ***
## mesh_size2.0 mm 0.20623 0.03767 328.06439 5.474 8.74e-08 ***
## mesh_size5.0 mm 0.20335 0.03742 326.75616 5.434 1.08e-07 ***
## trait_dissimilarity 0.02298 0.05187 24.27615 0.443 0.662
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m m_5.0m
## msh_sz2.0mm -0.105
## msh_sz5.0mm -0.092 0.511
## trt_dssmlrt -0.888 -0.003 -0.017
anova(lmm_6c)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 3.2410 1.62051 2 328.04 19.6915 8.389e-09 ***
## trait_dissimilarity 0.0162 0.01616 1 24.28 0.1963 0.6616
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_6c, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.08264256 0.1815831
## sd_(Intercept)|plot 0.08421406 0.3296551
## sigma 0.26542368 0.3094077
## (Intercept) 0.65740969 1.3558790
## mesh_size2.0 mm 0.13248675 0.2801404
## mesh_size5.0 mm 0.13003536 0.2767046
## trait_dissimilarity -0.08015284 0.1261384
Trait dissimilarity is still not significant so we can exclude it
lmm_6d<-update(lmm_6c, .~.-trait_dissimilarity)
summary(lmm_6d)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ mesh_size + (1 | plot) + (1 | litter_combination)
## Data: litter_mix6
##
## REML criterion at convergence: 179.5
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.3919 -0.6408 -0.1011 0.3887 4.7943
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.01558 0.1248
## plot (Intercept) 0.02707 0.1645
## Residual 0.08229 0.2869
## Number of obs: 357, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.07708 0.08208 5.67611 13.122 1.84e-05 ***
## mesh_size2.0 mm 0.20628 0.03767 328.15750 5.476 8.66e-08 ***
## mesh_size5.0 mm 0.20364 0.03741 326.98708 5.443 1.03e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m
## msh_sz2.0mm -0.235
## msh_sz5.0mm -0.234 0.511
anova(lmm_6d)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 3.247 1.6235 2 328.22 19.729 8.112e-09 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_6d, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.08325044 0.1824411
## sd_(Intercept)|plot 0.08422030 0.3296886
## sigma 0.26542556 0.3094108
## (Intercept) 0.90466497 1.2496086
## mesh_size2.0 mm 0.13254612 0.2802026
## mesh_size5.0 mm 0.13034517 0.2769942
2.0 mm and 5.0 mm mesh size is significantly different from 0.07 mm. Here we use emmeans to see pairwise among the mesh sizes.
emeans_6<-emmeans(lmm_6d, spec=~mesh_size)
cld(emeans_6)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 1.08 0.0821 5.68 0.873 1.28 1
## 5.0 mm 1.28 0.0819 5.61 1.077 1.48 2
## 2.0 mm 1.28 0.0819 5.62 1.080 1.49 2
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
No difference between 5 and 2 mm.
Compare models using AIC
AIC(lmm_6,lmm_6b,lmm_6c,lmm_6d)## df AIC
## lmm_6 10 214.8404
## lmm_6b 8 204.0654
## lmm_6c 7 197.3952
## lmm_6d 6 191.4984
plot(lmm_6d)resids <- resid(lmm_6d, type='pearson')
plot(resids~fitted(lmm_6d))
lines(lowess(resids~fitted(lmm_6d)), col='red')?? heteroscedacity?? Not bad
plot(sqrt(abs(resids))~ fitted(lmm_6d))
lines(lowess(sqrt(abs(resids))~
fitted(lmm_6d)), col='red')Normally distributed?
qqPlot(resids)## 940 1812
## 120 247
par(mfrow=c(2,2))
qqPlot(ranef(lmm_6d)$plot$'(Intercept)')## [1] 4 2
qqPlot(ranef(lmm_6d)$litter_combination$'(Intercept)')## [1] 12 16
Variance explained
r.squaredGLMM(lmm_6d)## R2m R2c
## [1,] 0.06857871 0.3865238
lit6<-litter_mix6 %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
lit6$mesh_size <- factor(lit6$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(lit6$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
obs_exp6<-ggplot(data=lit6, aes(trait_dissimilarity, m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1),alpha=0.9) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=lit6$lower_ci,ymax=lit6$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(-1,3.5))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 4, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("e 6 months")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
obs_exp6## `geom_smooth()` using formula 'y ~ x'
hist(litter_mix9$observed_expected_ratio)# looks well distributedlmm_9<-lmer(observed_expected_ratio~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity+(1|plot) + (1|litter_combination),data=litter_mix9)
summary(lmm_9)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## mesh_size:trait_dissimilarity + (1 | plot) + (1 | litter_combination)
## Data: litter_mix9
##
## REML criterion at convergence: 123.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.2900 -0.6325 -0.0306 0.5570 4.5637
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.00674 0.0821
## plot (Intercept) 0.01456 0.1207
## Residual 0.06873 0.2622
## Number of obs: 383, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 1.114198 0.181370 62.048735 6.143
## species_richness 0.005865 0.024670 23.081297 0.238
## mesh_size2.0 mm -0.022154 0.182506 349.783041 -0.121
## mesh_size5.0 mm -0.207072 0.185862 350.201523 -1.114
## trait_dissimilarity -0.020550 0.050921 78.573996 -0.404
## mesh_size2.0 mm:trait_dissimilarity 0.020869 0.058621 349.853375 0.356
## mesh_size5.0 mm:trait_dissimilarity 0.080079 0.059732 349.772760 1.341
## Pr(>|t|)
## (Intercept) 6.35e-08 ***
## species_richness 0.814
## mesh_size2.0 mm 0.903
## mesh_size5.0 mm 0.266
## trait_dissimilarity 0.688
## mesh_size2.0 mm:trait_dissimilarity 0.722
## mesh_size5.0 mm:trait_dissimilarity 0.181
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.386
## msh_sz2.0mm -0.516 -0.007
## msh_sz5.0mm -0.509 0.001 0.506
## trt_dssmlrt -0.856 -0.008 0.586 0.574
## msh_s2.0m:_ 0.509 0.007 -0.984 -0.499 -0.597
## msh_s5.0m:_ 0.502 -0.001 -0.499 -0.984 -0.585 0.508
anova(lmm_9)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.003884 0.003884 1 23.08 0.0565 0.8142
## mesh_size 0.103352 0.051676 2 350.19 0.7518 0.4723
## trait_dissimilarity 0.008465 0.008465 1 23.94 0.1232 0.7287
## mesh_size:trait_dissimilarity 0.133307 0.066654 2 349.95 0.9698 0.3802
confint(lmm_9, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.04049365 0.12039460
## sd_(Intercept)|plot 0.05995621 0.24257360
## sigma 0.24258961 0.28116145
## (Intercept) 0.76655193 1.46211020
## species_richness -0.04220408 0.05392814
## mesh_size2.0 mm -0.37895510 0.33435148
## mesh_size5.0 mm -0.57073796 0.15569525
## trait_dissimilarity -0.11896278 0.07773115
## mesh_size2.0 mm:trait_dissimilarity -0.09363679 0.13547671
## mesh_size5.0 mm:trait_dissimilarity -0.03648665 0.19698038
The interactions between mesh size and trait dissimilarity is non significant so we can exclude it
-mesh_size:trait_dissimilarity
lmm_9b<-update(lmm_9, .~.-mesh_size:trait_dissimilarity)
summary(lmm_9b)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## (1 | plot) + (1 | litter_combination)
## Data: litter_mix9
##
## REML criterion at convergence: 117.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.4168 -0.6273 -0.0783 0.5301 4.5875
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.006737 0.08208
## plot (Intercept) 0.014708 0.12128
## Residual 0.068714 0.26213
## Number of obs: 383, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.012e+00 1.475e-01 2.772e+01 6.863 1.96e-07 ***
## species_richness 5.965e-03 2.466e-02 2.308e+01 0.242 0.811
## mesh_size2.0 mm 4.149e-02 3.258e-02 3.514e+02 1.273 0.204
## mesh_size5.0 mm 3.819e-02 3.305e-02 3.542e+02 1.156 0.249
## trait_dissimilarity 1.268e-02 3.731e-02 2.392e+01 0.340 0.737
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r m_2.0m m_5.0m
## spcs_rchnss -0.477
## msh_sz2.0mm -0.107 0.002
## msh_sz5.0mm -0.107 0.002 0.495
## trt_dssmlrt -0.772 -0.007 -0.007 -0.005
anova(lmm_9b)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.004019 0.004019 1 23.08 0.0585 0.8110
## mesh_size 0.136545 0.068272 2 353.26 0.9936 0.3713
## trait_dissimilarity 0.007933 0.007933 1 23.92 0.1154 0.7370
confint(lmm_9b, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.04015356 0.12027524
## sd_(Intercept)|plot 0.06027235 0.24372037
## sigma 0.24325115 0.28192780
## (Intercept) 0.72895689 1.29566877
## species_richness -0.04209658 0.05402253
## mesh_size2.0 mm -0.02235890 0.10534538
## mesh_size5.0 mm -0.02650398 0.10301318
## trait_dissimilarity -0.05996586 0.08533734
Species richness is non significant so we can now exclude it in the next model
-species_richness
lmm_9c<-update(lmm_9b, .~.-species_richness)
summary(lmm_9c)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: observed_expected_ratio ~ mesh_size + trait_dissimilarity + (1 |
## plot) + (1 | litter_combination)
## Data: litter_mix9
##
## REML criterion at convergence: 111.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.4335 -0.6299 -0.0809 0.5390 4.5754
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.006293 0.07933
## plot (Intercept) 0.014706 0.12127
## Residual 0.068712 0.26213
## Number of obs: 383, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.02933 0.12760 28.68449 8.067 7.34e-09 ***
## mesh_size2.0 mm 0.04146 0.03258 351.43923 1.273 0.204
## mesh_size5.0 mm 0.03819 0.03305 354.25698 1.156 0.249
## trait_dissimilarity 0.01275 0.03658 24.99151 0.349 0.730
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m m_5.0m
## msh_sz2.0mm -0.122
## msh_sz5.0mm -0.122 0.495
## trt_dssmlrt -0.879 -0.007 -0.005
anova(lmm_9c)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 0.136460 0.068230 2 353.33 0.9930 0.3715
## trait_dissimilarity 0.008346 0.008346 1 24.99 0.1215 0.7304
confint(lmm_9c, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.04034416 0.12047026
## sd_(Intercept)|plot 0.06027108 0.24372138
## sigma 0.24325160 0.28192849
## (Intercept) 0.78074191 1.27794886
## mesh_size2.0 mm -0.02237891 0.10532528
## mesh_size5.0 mm -0.02651984 0.10299806
## trait_dissimilarity -0.05999033 0.08548799
Trait dissimilarity is still not significant so we can exclude it
lmm_9d<-update(lmm_9c, .~.-trait_dissimilarity)
summary(lmm_9d)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ mesh_size + (1 | plot) + (1 | litter_combination)
## Data: litter_mix9
##
## REML criterion at convergence: 107.2
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -3.4559 -0.6287 -0.0848 0.5355 4.5744
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.00592 0.07694
## plot (Intercept) 0.01471 0.12129
## Residual 0.06871 0.26212
## Number of obs: 383, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.06840 0.06085 5.60833 17.558 4.07e-06 ***
## mesh_size2.0 mm 0.04154 0.03258 351.52457 1.275 0.203
## mesh_size5.0 mm 0.03825 0.03304 354.38697 1.158 0.248
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m
## msh_sz2.0mm -0.269
## msh_sz5.0mm -0.265 0.495
anova(lmm_9d)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 0.13696 0.068479 2 353.44 0.9967 0.3701
confint(lmm_9d, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.04074333 0.1208690
## sd_(Intercept)|plot 0.06028858 0.2437806
## sigma 0.24325126 0.2819279
## (Intercept) 0.94081738 1.1960226
## mesh_size2.0 mm -0.02229718 0.1054038
## mesh_size5.0 mm -0.02646582 0.1030520
There is no significant difference between 2.0 mm and and 0.07 mm, nor between 5.0 mm and 0.07 mm mesh size. Let’s use emmeans to to the remaining pairwise comparison
emeans_9<-emmeans(lmm_9d, spec=~mesh_size)
cld(emeans_9)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 1.07 0.0609 5.61 0.917 1.22 1
## 5.0 mm 1.11 0.0611 5.69 0.955 1.26 1
## 2.0 mm 1.11 0.0608 5.60 0.959 1.26 1
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
No pairwise difference between mesh sizes.
compare models using AIC
AIC(lmm_9,lmm_9b,lmm_9c,lmm_9d)## df AIC
## lmm_9 10 143.4094
## lmm_9b 8 133.4171
## lmm_9c 7 125.8898
## lmm_9d 6 119.2177
Model diagnostics
plot(lmm_9d)resids <- resid(lmm_9d, type='pearson')
plot(resids~fitted(lmm_9d))
lines(lowess(resids~fitted(lmm_9d)), col='red')plot(sqrt(abs(resids))~ fitted(lmm_9d))
lines(lowess(sqrt(abs(resids))~
fitted(lmm_9d)), col='red')Normally distributed?
qqPlot(resids)## 2332 1912
## 337 279
par(mfrow=c(1,2))
qqPlot(ranef(lmm_9d)$plot$'(Intercept)')## [1] 3 2
qqPlot(ranef(lmm_9d)$litter_combination$'(Intercept)')## [1] 17 25
r.squaredGLMM(lmm_9d)## R2m R2c
## [1,] 0.004002191 0.2340155
lit9<-litter_mix9 %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
lit9$mesh_size <- factor(lit9$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(lit9$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
obs_exp9<-ggplot(data=lit9, aes(trait_dissimilarity,m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1),alpha=0.9) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=lit9$lower_ci,ymax=lit9$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(0.0,2))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 4, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("f 9 months")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
obs_exp9## `geom_smooth()` using formula 'y ~ x'
hist(litter_mix16$observed_expected_ratio) # looks normally distributedlmm_16<-lmer(observed_expected_ratio~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity+(1|plot) + (1|litter_combination),data=litter_mix16)
summary(lmm_16)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## mesh_size:trait_dissimilarity + (1 | plot) + (1 | litter_combination)
## Data: litter_mix16
##
## REML criterion at convergence: -5.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.9991 -0.6568 -0.0285 0.4300 3.7232
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.002578 0.05077
## plot (Intercept) 0.004453 0.06673
## Residual 0.047825 0.21869
## Number of obs: 254, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 0.94905 0.15549 73.75178 6.104
## species_richness -0.01710 0.02085 24.40583 -0.820
## mesh_size2.0 mm 0.13949 0.18315 221.21027 0.762
## mesh_size5.0 mm 0.41399 0.18133 221.00454 2.283
## trait_dissimilarity 0.02534 0.04415 87.89123 0.574
## mesh_size2.0 mm:trait_dissimilarity 0.02915 0.05746 220.80786 0.507
## mesh_size5.0 mm:trait_dissimilarity -0.04818 0.05707 220.61979 -0.844
## Pr(>|t|)
## (Intercept) 4.42e-08 ***
## species_richness 0.4200
## mesh_size2.0 mm 0.4471
## mesh_size5.0 mm 0.0234 *
## trait_dissimilarity 0.5675
## mesh_size2.0 mm:trait_dissimilarity 0.6124
## mesh_size5.0 mm:trait_dissimilarity 0.3995
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.380
## msh_sz2.0mm -0.559 -0.017
## msh_sz5.0mm -0.577 0.010 0.488
## trt_dssmlrt -0.891 0.011 0.620 0.628
## msh_s2.0m:_ 0.555 0.013 -0.983 -0.483 -0.635
## msh_s5.0m:_ 0.568 -0.009 -0.482 -0.983 -0.640 0.493
anova(lmm_16)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.032174 0.032174 1 24.406 0.6727 0.42004
## mesh_size 0.257125 0.128562 2 221.420 2.6882 0.07022 .
## trait_dissimilarity 0.019431 0.019431 1 20.274 0.4063 0.53099
## mesh_size:trait_dissimilarity 0.088023 0.044011 2 220.880 0.9203 0.39993
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_16, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.08872486
## sd_(Intercept)|plot 0.02357892 0.14526444
## sigma 0.19819907 0.23871169
## (Intercept) 0.65174164 1.24785547
## species_richness -0.05727655 0.02349754
## mesh_size2.0 mm -0.21644172 0.49881765
## mesh_size5.0 mm 0.06048717 0.76835041
## trait_dissimilarity -0.06018966 0.10988043
## mesh_size2.0 mm:trait_dissimilarity -0.08362943 0.14076798
## mesh_size5.0 mm:trait_dissimilarity -0.15985002 0.06297660
The interactions between mesh size and trait dissimilarity is non significant so we can exclude it
-mesh_size:trait_dissimilarity
lmm_16b<-update(lmm_16, .~.-mesh_size:trait_dissimilarity)
summary(lmm_16b)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## (1 | plot) + (1 | litter_combination)
## Data: litter_mix16
##
## REML criterion at convergence: -12.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.0432 -0.6305 0.0099 0.4466 3.5939
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.002502 0.05002
## plot (Intercept) 0.004517 0.06721
## Residual 0.047831 0.21870
## Number of obs: 254, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.97150 0.11771 26.06200 8.253 9.63e-09 ***
## species_richness -0.01770 0.02074 24.49680 -0.853 0.402
## mesh_size2.0 mm 0.23168 0.03348 224.97702 6.919 4.66e-11 ***
## mesh_size5.0 mm 0.26324 0.03358 225.99239 7.839 1.77e-13 ***
## trait_dissimilarity 0.01864 0.02964 20.32191 0.629 0.536
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r m_2.0m m_5.0m
## spcs_rchnss -0.501
## msh_sz2.0mm -0.105 -0.023
## msh_sz5.0mm -0.137 0.010 0.479
## trt_dssmlrt -0.802 0.018 -0.022 -0.005
anova(lmm_16b)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.0348 0.03483 1 24.497 0.7283 0.4017
## mesh_size 3.5601 1.78006 2 226.107 37.2157 1.067e-14 ***
## trait_dissimilarity 0.0189 0.01892 1 20.322 0.3955 0.5364
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_16b, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.08770731
## sd_(Intercept)|plot 0.02381586 0.14597885
## sigma 0.19911062 0.23980233
## (Intercept) 0.74515500 1.19789429
## species_richness -0.05767840 0.02271027
## mesh_size2.0 mm 0.16592107 0.29718501
## mesh_size5.0 mm 0.19702783 0.32868576
## trait_dissimilarity -0.03926848 0.07612029
Species richness is non significant so we can now exclude it in the next model
-species_richness
lmm_16c<-update(lmm_16b, .~.-species_richness)
summary(lmm_16c)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: observed_expected_ratio ~ mesh_size + trait_dissimilarity + (1 |
## plot) + (1 | litter_combination)
## Data: litter_mix16
##
## REML criterion at convergence: -17.3
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.0001 -0.6367 -0.0355 0.4487 3.6416
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.002402 0.04901
## plot (Intercept) 0.004380 0.06618
## Residual 0.047857 0.21876
## Number of obs: 254, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.92153 0.10112 26.40685 9.113 1.23e-09 ***
## mesh_size2.0 mm 0.23101 0.03348 225.11819 6.900 5.23e-11 ***
## mesh_size5.0 mm 0.26348 0.03358 225.89933 7.845 1.71e-13 ***
## trait_dissimilarity 0.01901 0.02943 21.03620 0.646 0.525
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m m_5.0m
## msh_sz2.0mm -0.136
## msh_sz5.0mm -0.154 0.480
## trt_dssmlrt -0.916 -0.022 -0.005
anova(lmm_16c)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 3.5566 1.77832 2 226.221 37.159 1.111e-14 ***
## trait_dissimilarity 0.0200 0.01996 1 21.036 0.417 0.5254
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_16c, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.08975927
## sd_(Intercept)|plot 0.02327567 0.14472344
## sigma 0.19916743 0.23988659
## (Intercept) 0.72324995 1.11855271
## mesh_size2.0 mm 0.16518896 0.29647136
## mesh_size5.0 mm 0.19731495 0.32902336
## trait_dissimilarity -0.03955827 0.07745215
Trait dissimilarity is still not significant so we can exclude it.
-trait_dissimilarity
lmm_16d<-update(lmm_16c,.~.-trait_dissimilarity)
summary(lmm_16d)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_ratio ~ mesh_size + (1 | plot) + (1 | litter_combination)
## Data: litter_mix16
##
## REML criterion at convergence: -22.1
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.0304 -0.6335 -0.0191 0.4614 3.5867
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.002149 0.04636
## plot (Intercept) 0.004228 0.06502
## Residual 0.047931 0.21893
## Number of obs: 254, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 0.98156 0.03999 7.22814 24.547 3.15e-08 ***
## mesh_size2.0 mm 0.23147 0.03349 224.93282 6.911 4.91e-11 ***
## mesh_size5.0 mm 0.26352 0.03360 225.44839 7.842 1.76e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) m_2.0m
## msh_sz2.0mm -0.396
## msh_sz5.0mm -0.402 0.480
anova(lmm_16d)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## mesh_size 3.5644 1.7822 2 225.97 37.182 1.097e-14 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
confint(lmm_16d, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.09067864
## sd_(Intercept)|plot 0.02277337 0.14305024
## sigma 0.19926120 0.24003857
## (Intercept) 0.90002804 1.06403857
## mesh_size2.0 mm 0.16564378 0.29696897
## mesh_size5.0 mm 0.19738750 0.32917028
5.0 mm and 2.0 mm mesh size are significant different from 0.07 mm mesh size. Next we use emmeans to get pairwise comparison.
emeans_16<-emmeans(lmm_16d, spec=~mesh_size)
cld(emeans_16)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 0.982 0.0407 6.61 0.884 1.08 1
## 2.0 mm 1.213 0.0416 6.92 1.114 1.31 2
## 5.0 mm 1.245 0.0413 6.96 1.147 1.34 2
##
## Degrees-of-freedom method: kenward-roger
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
No difference between 5 and 2 mm mesh sizes.
Compare models using AIC
AIC(lmm_16,lmm_16b,lmm_16c,lmm_16d)## df AIC
## lmm_16 10 14.101162
## lmm_16b 8 3.896851
## lmm_16c 7 -3.291116
## lmm_16d 6 -10.102261
plot(lmm_16d)resids <- resid(lmm_16d, type='pearson')
plot(resids~fitted(lmm_16d))
lines(lowess(resids~fitted(lmm_16d)), col='red')plot(sqrt(abs(resids))~ fitted(lmm_16d))
lines(lowess(sqrt(abs(resids))~
fitted(lmm_16d)), col='red')Normally distributed?
qqPlot(resids)## 1965 2337
## 193 220
par(mfrow=c(1,2))
qqPlot(ranef(lmm_16d)$plot$'(Intercept)')## [1] 3 4
qqPlot(ranef(lmm_16d)$litter_combination$'(Intercept)')## [1] 11 20
Variance explained
r.squaredGLMM(lmm_16d)## R2m R2c
## [1,] 0.206739 0.2998879
lit16<-litter_mix16 %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
levels(lit16$mesh_size)## [1] "0.07 mm" "2.0 mm" "5.0 mm"
lit16$mesh_size <- factor(lit16$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(lit16$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
obs_exp16<-ggplot(data=lit16, aes(trait_dissimilarity, m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1),alpha=0.9) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=lit16$lower_ci,ymax=lit16$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(0.5,2))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 4, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("g 16 months")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("Observed/expected mass loss") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
obs_exp16## `geom_smooth()` using formula 'y ~ x'
litter_k_mix$observed_expected_k_ratio<-litter_k_mix$observed_k/litter_k_mix$expected_klitter_k_mix$observed_expected_k_ratio<-as.numeric(litter_k_mix$observed_expected_k_ratio)
hist(litter_k_mix$observed_expected_k_ratio)head(litter_k_mix[1:6,])## species No_species species_richness mesh_size initial_N initial_C C_N_ratio
## 16 Kp, Qc 2 2 0.07 mm 0.99 47.26 48.52614
## 17 Kp, Qc 2 2 2.0 mm 0.99 47.26 48.52614
## 18 Kp, Qc 2 2 5.0 mm 0.99 47.26 48.52614
## 19 Kp, Qc 2 2 2.0 mm 0.99 47.26 48.52614
## 20 Kp, Qc 2 2 0.07 mm 0.99 47.26 48.52614
## 21 Kp, Qc 2 2 5.0 mm 0.99 47.26 48.52614
## initial_P LDMC trait_dissimilarity plot prop_slow_decomp prop_gymn
## 16 1.8772 0.4409465 2.99609 R1 0.5 0
## 17 1.8772 0.4409465 2.99609 R1 0.5 0
## 18 1.8772 0.4409465 2.99609 R1 0.5 0
## 19 1.8772 0.4409465 2.99609 R5 0.5 0
## 20 1.8772 0.4409465 2.99609 R1 0.0 0
## 21 1.8772 0.4409465 2.99609 R2 0.5 0
## litter_combination nine.months one.month six.months sixteen.months
## 16 Kp, Qc 0.1290841 NA 0.1328334 0.4954472
## 17 Kp, Qc 0.2758436 0.06855919 0.2003214 0.6647027
## 18 Kp, Qc 0.2779861 0.05891805 0.2463846 NA
## 19 Kp, Qc 0.2961971 0.15693626 0.2104981 0.3422603
## 20 Kp, Qc NA 0.06748795 NA NA
## 21 Kp, Qc 0.2822710 0.08998393 0.1767542 NA
## three.months observed_k expected_k observed_expected_k_ratio
## 16 0.1264060 0.4225061 0.3952915 1.0688470
## 17 0.1628281 0.6997600 0.3973065 1.7612599
## 18 0.1381896 0.4852461 0.4039106 1.2013700
## 19 0.1805035 0.3775606 0.4646099 0.8126399
## 20 NA 0.8384784 1.1670376 0.7184674
## 21 0.1596144 0.4505148 0.3431797 1.3127663
dim(litter_k_mix)## [1] 408 22
summary(litter_k_mix$observed_expected_k_ratio)
hist(litter_k_mix$observed_expected_k_ratio)hist(log(litter_k_mix$observed_expected_k_ratio))lmm_k<-lmer(observed_expected_k_ratio~species_richness+mesh_size+trait_dissimilarity+mesh_size:trait_dissimilarity+(1|plot) + (1|litter_combination),data=litter_k_mix)## boundary (singular) fit: see help('isSingular')
summary(lmm_k)
anova(lmm_k)
confint(lmm_k, oldNames=FALSE)## Computing profile confidence intervals ...
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.3712 0.9873 1.1370 1.1918 1.3126 2.5660
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_k_ratio ~ species_richness + mesh_size + trait_dissimilarity +
## mesh_size:trait_dissimilarity + (1 | plot) + (1 | litter_combination)
## Data: litter_k_mix
##
## REML criterion at convergence: 158.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.2107 -0.6249 -0.1246 0.3682 4.3823
##
## Random effects:
## Groups Name Variance Std.Dev.
## litter_combination (Intercept) 0.0000000 0.00000
## plot (Intercept) 0.0003437 0.01854
## Residual 0.0801735 0.28315
## Number of obs: 408, groups: litter_combination, 26; plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 1.02741 0.14465 400.70326 7.103
## species_richness -0.01967 0.01618 397.11160 -1.216
## mesh_size2.0 mm 0.09320 0.19298 397.02986 0.483
## mesh_size5.0 mm 0.39731 0.19329 397.04279 2.056
## trait_dissimilarity 0.01347 0.04385 397.02986 0.307
## mesh_size2.0 mm:trait_dissimilarity 0.04877 0.06202 397.02986 0.786
## mesh_size5.0 mm:trait_dissimilarity -0.02921 0.06206 397.03415 -0.471
## Pr(>|t|)
## (Intercept) 5.62e-12 ***
## species_richness 0.2248
## mesh_size2.0 mm 0.6294
## mesh_size5.0 mm 0.0405 *
## trait_dissimilarity 0.7588
## mesh_size2.0 mm:trait_dissimilarity 0.4321
## mesh_size5.0 mm:trait_dissimilarity 0.6381
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.329
## msh_sz2.0mm -0.664 -0.005
## msh_sz5.0mm -0.663 -0.006 0.498
## trt_dssmlrt -0.930 0.006 0.696 0.694
## msh_s2.0m:_ 0.655 0.002 -0.984 -0.491 -0.707
## msh_s5.0m:_ 0.655 0.002 -0.491 -0.984 -0.706 0.499
## optimizer (nloptwrap) convergence code: 0 (OK)
## boundary (singular) fit: see help('isSingular')
##
## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.11848 0.118485 1 397.11 1.4779 0.2248
## mesh_size 0.37005 0.185023 2 397.04 2.3078 0.1008
## trait_dissimilarity 0.04992 0.049920 1 397.03 0.6227 0.4305
## mesh_size:trait_dissimilarity 0.12924 0.064622 2 397.03 0.8060 0.4474
## 2.5 % 97.5 %
## sd_(Intercept)|litter_combination 0.00000000 0.04096994
## sd_(Intercept)|plot 0.00000000 0.06371733
## sigma 0.26270867 0.30159107
## (Intercept) 0.74587420 1.30929650
## species_richness -0.05129247 0.01182068
## mesh_size2.0 mm -0.28309120 0.46949967
## mesh_size5.0 mm 0.02012939 0.77390273
## trait_dissimilarity -0.07202765 0.09896648
## mesh_size2.0 mm:trait_dissimilarity -0.07215303 0.16969794
## mesh_size5.0 mm:trait_dissimilarity -0.15017762 0.09185320
Both random factors 2.5%CI touches zero, let remove the first one litter combination
-litter combination
lmm_kb<-lmer(observed_expected_k_ratio~species_richness+mesh_size*trait_dissimilarity+(1|plot),data=litter_k_mix)
summary(lmm_kb)## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula:
## observed_expected_k_ratio ~ species_richness + mesh_size * trait_dissimilarity +
## (1 | plot)
## Data: litter_k_mix
##
## REML criterion at convergence: 158.9
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -2.2107 -0.6249 -0.1246 0.3682 4.3823
##
## Random effects:
## Groups Name Variance Std.Dev.
## plot (Intercept) 0.0003437 0.01854
## Residual 0.0801735 0.28315
## Number of obs: 408, groups: plot, 5
##
## Fixed effects:
## Estimate Std. Error df t value
## (Intercept) 1.02741 0.14465 400.70326 7.103
## species_richness -0.01967 0.01618 397.11160 -1.216
## mesh_size2.0 mm 0.09320 0.19298 397.02986 0.483
## mesh_size5.0 mm 0.39731 0.19329 397.04279 2.056
## trait_dissimilarity 0.01347 0.04385 397.02986 0.307
## mesh_size2.0 mm:trait_dissimilarity 0.04877 0.06202 397.02986 0.786
## mesh_size5.0 mm:trait_dissimilarity -0.02921 0.06206 397.03414 -0.471
## Pr(>|t|)
## (Intercept) 5.62e-12 ***
## species_richness 0.2248
## mesh_size2.0 mm 0.6294
## mesh_size5.0 mm 0.0405 *
## trait_dissimilarity 0.7588
## mesh_size2.0 mm:trait_dissimilarity 0.4321
## mesh_size5.0 mm:trait_dissimilarity 0.6381
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) spcs_r ms_2.0m ms_5.0m trt_ds m_2.0m:
## spcs_rchnss -0.329
## msh_sz2.0mm -0.664 -0.005
## msh_sz5.0mm -0.663 -0.006 0.498
## trt_dssmlrt -0.930 0.006 0.696 0.694
## msh_s2.0m:_ 0.655 0.002 -0.984 -0.491 -0.707
## msh_s5.0m:_ 0.655 0.002 -0.491 -0.984 -0.706 0.499
anova(lmm_kb)## Type III Analysis of Variance Table with Satterthwaite's method
## Sum Sq Mean Sq NumDF DenDF F value Pr(>F)
## species_richness 0.11848 0.118485 1 397.11 1.4779 0.2248
## mesh_size 0.37005 0.185023 2 397.04 2.3078 0.1008
## trait_dissimilarity 0.04992 0.049920 1 397.03 0.6227 0.4305
## mesh_size:trait_dissimilarity 0.12924 0.064622 2 397.03 0.8060 0.4474
confint(lmm_kb, oldNames=FALSE)## Computing profile confidence intervals ...
## 2.5 % 97.5 %
## sd_(Intercept)|plot 0.00000000 0.06372334
## sigma 0.26269257 0.30159129
## (Intercept) 0.74587286 1.30930073
## species_richness -0.05129790 0.01182113
## mesh_size2.0 mm -0.28310146 0.46951025
## mesh_size5.0 mm 0.02009601 0.77390383
## trait_dissimilarity -0.07203007 0.09896881
## mesh_size2.0 mm:trait_dissimilarity -0.07215641 0.16970126
## mesh_size5.0 mm:trait_dissimilarity -0.15017903 0.09185993
-plot then we have simple linear model
lmm_kc<-lm(observed_expected_k_ratio~species_richness+mesh_size*trait_dissimilarity,data=litter_k_mix)
summary(lmm_kc)##
## Call:
## lm(formula = observed_expected_k_ratio ~ species_richness + mesh_size *
## trait_dissimilarity, data = litter_k_mix)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.6164 -0.1766 -0.0318 0.1036 1.2498
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.02768 0.14466 7.104 5.57e-12 ***
## species_richness -0.01977 0.01621 -1.219 0.223
## mesh_size2.0 mm 0.09321 0.19332 0.482 0.630
## mesh_size5.0 mm 0.39686 0.19362 2.050 0.041 *
## trait_dissimilarity 0.01347 0.04392 0.307 0.759
## mesh_size2.0 mm:trait_dissimilarity 0.04877 0.06212 0.785 0.433
## mesh_size5.0 mm:trait_dissimilarity -0.02914 0.06217 -0.469 0.640
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2836 on 401 degrees of freedom
## Multiple R-squared: 0.1884, Adjusted R-squared: 0.1762
## F-statistic: 15.51 on 6 and 401 DF, p-value: 5.04e-16
anova(lmm_kc)## Analysis of Variance Table
##
## Response: observed_expected_k_ratio
## Df Sum Sq Mean Sq F value Pr(>F)
## species_richness 1 0.083 0.0828 1.0295 0.3109
## mesh_size 2 7.227 3.6133 44.9115 <2e-16 ***
## trait_dissimilarity 1 0.050 0.0502 0.6241 0.4300
## mesh_size:trait_dissimilarity 2 0.129 0.0645 0.8018 0.4492
## Residuals 401 32.262 0.0805
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Let’s remove insignificant interaction
-mesh_size:trait dissimilarity
lmm_kd<-update(lmm_kc, .~.-mesh_size:trait_dissimilarity)
summary(lmm_kd)##
## Call:
## lm(formula = observed_expected_k_ratio ~ species_richness + mesh_size +
## trait_dissimilarity, data = litter_k_mix)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.61533 -0.18092 -0.03897 0.10850 1.25601
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.00757 0.09430 10.684 < 2e-16 ***
## species_richness -0.01978 0.01620 -1.221 0.223
## mesh_size2.0 mm 0.24262 0.03420 7.094 5.9e-12 ***
## mesh_size5.0 mm 0.30741 0.03434 8.953 < 2e-16 ***
## trait_dissimilarity 0.02005 0.02537 0.790 0.430
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2835 on 403 degrees of freedom
## Multiple R-squared: 0.1851, Adjusted R-squared: 0.1771
## F-statistic: 22.89 on 4 and 403 DF, p-value: < 2.2e-16
anova(lmm_kd)## Analysis of Variance Table
##
## Response: observed_expected_k_ratio
## Df Sum Sq Mean Sq F value Pr(>F)
## species_richness 1 0.083 0.0828 1.0306 0.3106
## mesh_size 2 7.227 3.6133 44.9558 <2e-16 ***
## trait_dissimilarity 1 0.050 0.0502 0.6247 0.4298
## Residuals 403 32.391 0.0804
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Let’s remove trait_dissimilarity
lmm_ke<-update(lmm_kd, .~.-trait_dissimilarity)
summary(lmm_ke)##
## Call:
## lm(formula = observed_expected_k_ratio ~ species_richness + mesh_size,
## data = litter_k_mix)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.61847 -0.17915 -0.03994 0.10776 1.25272
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.06941 0.05262 20.325 < 2e-16 ***
## species_richness -0.01994 0.01619 -1.231 0.219
## mesh_size2.0 mm 0.24268 0.03419 7.099 5.7e-12 ***
## mesh_size5.0 mm 0.30756 0.03432 8.961 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.2834 on 404 degrees of freedom
## Multiple R-squared: 0.1839, Adjusted R-squared: 0.1778
## F-statistic: 30.34 on 3 and 404 DF, p-value: < 2.2e-16
anova(lmm_ke)## Analysis of Variance Table
##
## Response: observed_expected_k_ratio
## Df Sum Sq Mean Sq F value Pr(>F)
## species_richness 1 0.083 0.0828 1.0315 0.3104
## mesh_size 2 7.227 3.6133 44.9976 <2e-16 ***
## Residuals 404 32.441 0.0803
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
emeans_k_ratio<-emmeans(lmm_ke, spec=~mesh_size)
cld(emeans_k_ratio)## mesh_size emmean SE df lower.CL upper.CL .group
## 0.07 mm 1.01 0.0240 404 0.964 1.06 1
## 2.0 mm 1.25 0.0244 404 1.206 1.30 2
## 5.0 mm 1.32 0.0246 404 1.270 1.37 2
##
## Confidence level used: 0.95
## P value adjustment: tukey method for comparing a family of 3 estimates
## significance level used: alpha = 0.05
## NOTE: If two or more means share the same grouping letter,
## then we cannot show them to be different.
## But we also did not show them to be the same.
2 mm not different from 5 mm.
AIC(lmm_k,lmm_kb,lmm_kc,lmm_kd,lmm_ke)## df AIC
## lmm_k 10 178.8887
## lmm_kb 9 176.8887
## lmm_kc 8 138.6024
## lmm_kd 6 136.2307
## lmm_ke 5 134.8627
mean_k_16<-litter_k_mix %>%
group_by(No_species, mesh_size, trait_dissimilarity) %>%
summarise(m_obs_exp = mean(observed_expected_k_ratio, na.rm = TRUE),
sd_obs_exp = sd(observed_expected_k_ratio, na.rm = TRUE),
n_obs_exp = n()) %>%
mutate(se_obs_exp = sd_obs_exp / sqrt(n_obs_exp),
lower_ci= m_obs_exp - qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp,
upper_ci = m_obs_exp + qt(1 - (0.1 / 2), n_obs_exp - 1) * se_obs_exp)## `summarise()` has grouped output by 'No_species', 'mesh_size'. You can override
## using the `.groups` argument.
mean_k_16## # A tibble: 78 × 9
## # Groups: No_species, mesh_size [12]
## No_species mesh_size trait_…¹ m_obs…² sd_ob…³ n_obs…⁴ se_ob…⁵ lower…⁶ upper…⁷
## <fct> <fct> <dbl> <dbl> <dbl> <int> <dbl> <dbl> <dbl>
## 1 2 0.07 mm 1.93 0.858 0.231 5 0.103 0.638 1.08
## 2 2 0.07 mm 2.37 0.949 0.214 5 0.0959 0.745 1.15
## 3 2 0.07 mm 2.51 1.09 0.233 5 0.104 0.873 1.32
## 4 2 0.07 mm 2.91 1.11 0.379 5 0.170 0.744 1.47
## 5 2 0.07 mm 3.00 1.02 0.364 10 0.115 0.806 1.23
## 6 2 0.07 mm 3.01 0.951 0.261 5 0.117 0.702 1.20
## 7 2 0.07 mm 3.08 1.00 0.164 5 0.0733 0.846 1.16
## 8 2 0.07 mm 3.20 1.03 0.120 5 0.0536 0.919 1.15
## 9 2 0.07 mm 3.95 0.964 0.153 5 0.0685 0.818 1.11
## 10 2 0.07 mm 4.75 0.992 0.116 5 0.0517 0.882 1.10
## # … with 68 more rows, and abbreviated variable names ¹trait_dissimilarity,
## # ²m_obs_exp, ³sd_obs_exp, ⁴n_obs_exp, ⁵se_obs_exp, ⁶lower_ci, ⁷upper_ci
## # ℹ Use `print(n = ...)` to see more rows
mean_k_16$mesh_size <- factor(mean_k_16$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
levels(mean_k_16$mesh_size)## [1] "5.0 mm" "2.0 mm" "0.07 mm"
p_k_obs <- ggplot(data=mean_k_16, aes(trait_dissimilarity, m_obs_exp,shape=mesh_size,colour=mesh_size)) +
geom_point(size=2.0, position = position_dodge(width=0.1)) +geom_smooth(method = "lm", se=FALSE,aes(linetype=mesh_size), position=position_dodge(width=0.1))+ geom_errorbar(ymin=mean_k_16$lower_ci,ymax=mean_k_16$upper_ci,position = position_dodge(width = 0.1))+scale_y_continuous(limits = c(-1, 3.5))+geom_hline(yintercept=1, color="black", linetype="dashed", alpha=.9)+
scale_color_brewer(palette="Dark2")+
scale_linetype_manual (values = c("5.0 mm" = 4, "2.0 mm" = 4, "0.07 mm" = 4))+
theme(legend.position = "none",legend.direction="vertical",legend.text=element_text(size=12,face="italic")) + ggtitle("h 16 months")+labs(colour= "Mesh size")+
guides(colour=guide_legend("Mesh size"),linetype=FALSE, shape=FALSE)+
xlab("Litter quality dissimilarity") + ylab("observed/expected decay rate ") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
p_k_obs## `geom_smooth()` using formula 'y ~ x'
litter_mix$mesh_size <- factor(litter_mix$mesh_size, levels = c("5.0 mm","2.0 mm","0.07 mm" ))
my_hist2 <- ggplot(litter_mix, aes(x = trait_dissimilarity, y = litter_mix$observed_expected_ratio, shape=mesh_size)) +scale_color_brewer(palette="Dark2")+
geom_point(size=3)+labs(shape= "Mesh size",colour="Species richness")+theme(legend.text=element_text(size=12,face="italic"))+theme(text = element_text(size = 14,face="bold"))
my_hist2library(grid)
library(gridExtra) ##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
pl20b <- cowplot::get_legend(my_hist2)
pl7b<-grid.newpage()
pl7b<-grid.draw(pl20b)Put figures together in one figure (Fig 2)
library(patchwork)
obs_exp_ci<- new_sprich+new_incb_time+pl20b+obs_exp1+obs_exp3+obs_exp6+obs_exp9+obs_exp16+p_k_obs
obs_exp_ci## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
ggsave(filename="obs_exp_ci.png", plot=obs_exp_ci, device="png",
path=path, height=13, width=15, units="in", dpi=500)## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
## `geom_smooth()` using formula 'y ~ x'
supplementary figure
library(ggplot2)
scatter<- ggplot(data = litter_mix, aes(x = species_richness, y = trait_dissimilarity))+ geom_point() +
xlab("species richness") + ylab("Litter quality dissimilarity") + theme(text = element_text(size = 14,face="bold"), panel.background = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
panel.border = element_rect(colour = "black", fill=NA, size=1.5)) + theme(axis.text = element_text(family = "palatino", colour = "black", size = (12)))
ggsave(filename="scatter_plot.png", plot=scatter, device="png",
path=path, height=5, width=7, units="in", dpi=500)The end!!